2011-06-22 53 views
4

我用如何引用Google Chrome擴展中的版本信息?

chrome.tabs.create({url:"URL here"}) 

在我LRG打開一個新的標籤。爲了這個網址我要追加擴展的版本號,這是在manifest.json文件中指定:

"version": "1.2", 

我怎樣才能在創建新標籤時使用在JavaScript中的版本號?一旦你的版本號,你可以做到這一點,你需要做的標籤的東西

var url = chrome.extension.getURL("manifest.json"); 
var xhr = new XMLHttpRequest(); 
xhr.onreadystatechange = function(e) { 
    if(xhr.readyState == 2 && xhr.status == 200) { 
    var manifest = JSON.parse(xhr.responseText); 
    alert("Version: " + manifest.version); 
    } 
}; 

xhr.open("GET", url); 
xhr.send(); 

回答

4

您可以獲取自己的清單,並通過以下的版本。

+0

我使用這個,它運作良好。這是一個稍微更完整的帖子,在這個方法:http://martinsikora.com/accessing-manifest-json-in-a-google-chrome-extension – Nicholas

+0

難道你不想說readyState == 4? – slowpoison

+0

我實際上並沒有記得我爲什麼使用2 ...我知道我在過去的事件中使用過它。 – Kinlan

7

嘗試在您的擴展:

chrome.app.getDetails().version 

我不知道爲什麼它不中other APIs,但它在我Chrome的測試版13工程。而是在舊版本的Chrome中進行測試:)。

編輯:It's probably a little buggy

+0

獲取細節尚未廣泛提供。 – Kinlan

+0

你能給我提供一些鏈接嗎?我很好奇哪些版本的Chrome支持它。 – martin

+3

現在它的'chrome.runtime.getManifest()'參見https://developer.chrome.com/extensions/runtime#method-getManifest – Less

0

我沒有足夠的代表處發表評論,但對於Kinlan的XMLHttpRequest的答案:

我發現這是非常有用的,但我沒有注意到它應該等待的readyState == 4 (不是2)。

對我很好,看起來應該很健壯。

相關問題