2012-02-26 2 views
3

У меня есть расширение, и я сделал много рефакторинга в своем коде, я хочу опубликовать новую версию, но в своем новом коде я хочу определить, когда расширение обновляется и выполняет некоторые действия.Обнаружение обновления расширения хрома

Я знаю, что с chrome.management я могу обнаружить другие обновления расширения, но я хочу, чтобы обнаружить мое собственное обновление расширение.

ответ

3

Для этого вам не требуется разрешение на управление.

Вы можете использовать chrome.app.getDetails().version Чтобы получить последнюю версию своего внутреннего номера с помощью фоновой страницы. Чем вы можете сохранить его в localStorage. Каждый раз, когда вы загружаете свою фоновую страницу или один раз в час, вы можете проверить, соответствует ли версия той, которая у вас есть на localStorage, и обнаруживать новые установки или обновления.

Интересно, есть ли лучший способ для этого. Но сейчас это то, что я делаю.

EDIT:

В качестве альтернативы вы можете использовать этот код, чтобы получить последнюю версию:

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(); 

извлеченный из this other SO response.

+0

В настоящее время я получаю файл manifest.json, когда загружается background.html и сохраняет его на localStorage ... ваше решение будет в порядке, спасибо! – Yosi

Смежные вопросы