Есть ли способ расширения Chrome для чтения свойств из manifest.json? Я хотел бы иметь возможность прочитать номер версии и использовать ее в расширении.
Прочтите версию из manifest.json
Ответ 1
Вы можете просто использовать chrome.runtime.getManifest()
для доступа к данным манифеста - вам не нужно ПОЛУЧИТЬ его и проанализировать.
var manifestData = chrome.runtime.getManifest();
console.log(manifestData.version);
console.log(manifestData.default_locale);
Ответ 2
Снайпер chrome.app.getDetails()
больше не работает, возвращается ошибка:
TypeError: Object # не имеет метода getDetails
Вместо этого вы хотите использовать chrome.runtime.getManifest()
.
Ответ 3
Я использую этот способ.
chrome.manifest = (function() {
var manifestObject = false;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
manifestObject = JSON.parse(xhr.responseText);
}
};
xhr.open("GET", chrome.extension.getURL('/manifest.json'), false);
try {
xhr.send();
} catch(e) {
console.log('Couldn\'t load manifest.json');
}
return manifestObject;
})();
И это все. Этот короткий фрагмент кода загружает объект-манифест и помещает его в число других хром. * API. Итак, теперь вы можете получить любую необходимую информацию:
// current version
chrome.manifest.version
// default locale
chrome.manifest.default_locale
Ответ 4
Начиная с Chrome 22, вы используете chrome.runtime
console.log(chrome.runtime.getManifest().version);
Ответ 5
На самом деле это просто.
function yourFunction() {
return chrome.app.getDetails().version;
}
где вы можете назвать yourFunction
всем, что вам нравится.
Затем, чтобы вызвать его, просто вставьте yourfunction()
туда, где вы хотите вызвать номер версии.
Например, если ваш номер версии 9.07, то yourfunction()
фактически равен числовому значению 9.07