我可以在我的扩展程序的JavaScript文件中从manifest.json访问属性吗?

bit*_*yan 40 javascript google-chrome-extension

我想在我的扩展JavaScript文件中引用manifest.json中定义的版本号.有没有办法做到这一点?

Kon*_*nin 89

因为你应该使用chrome 22 chrome.runtime.getManifest().请参阅此处的文档.

所以现在它很简单:

var manifest = chrome.runtime.getManifest();
console.log(manifest.name);
console.log(manifest.version);
Run Code Online (Sandbox Code Playgroud)

  • 由于普通用户无法禁用Chrome自动更新功能,我认为目前没有人使用22以下版本.但最好包含清单:**"minimum_chrome_version":"22.0.0.0"** (4认同)

san*_*bor 5

我认为这就是你要找的http://www.martinsikora.com/accessing-manifest-json-in-a-google-chrome-extension

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;

})();
Run Code Online (Sandbox Code Playgroud)

就这样.这个简短的代码片段加载了清单对象并将其放在其他chrome.*API中.那么,现在您可以获得所需的任何信息:

// current version
chrome.manifest.version

// default locale
chrome.manifest.default_locale
Run Code Online (Sandbox Code Playgroud)