5

Chrome拡張機能が自動的に更新されたときに通知を表示するにはどうすればよいですか?私の要件は、Chrome拡張機能を自動的に更新した後にポップアップを表示することです。

4

2 に答える 2

4

拡張機能がインストールまたは更新されたときに発生するchrome.runtime.onInstalledイベントがありますが(新しいパッケージアプリのドキュメントによると)、現在はdevチャネルでのみ利用できます。

2019年の更新:この回答は2012年に提供されたため、このイベントは開発者から安定したチャネルに移動されました。

于 2012-07-22T19:09:45.433 に答える
1

ここに完全な答えがあり、それは私のために働いています。

//=============== background.js =================
chrome.runtime.onInstalled.addListener(function (details) {
  try {
    var thisVersion = chrome.runtime.getManifest().version;
    if (details.reason == "install") {
      console.info("First version installed");
      //Send message to popup.html and notify/alert user("Welcome")
    } else if (details.reason == "update") {
      console.info("Updated version: " + thisVersion);
      //Send message to popup.html and notify/alert user

      chrome.tabs.query({currentWindow: true, active: true}, function (tabs) {
        for( var i = 0; i < tabs.length; i++ ) {
            chrome.tabs.sendMessage(tabs[i].id, {name: "showPopupOnUpdated", version: thisVersion});
        }
        });
    }
  } catch(e) {
    console.info("OnInstall Error - " + e);
  }
});


//=============== popup.js =================
//Note: this has to be injected as content script from manifest.json
chrome.runtime.onMessage.addListener(function (request, sender, sendResponse) {
    switch (request.name) {
        case "showPopupOnUpdated":
            alert("Extension got updated to latest version: " + request.version);
            break;
    }
});


//=============== manifest.js =================
//Note: background.html needs to import background.js
{
  "background": {
    "page": "background.html"
  },
  "content_scripts": [
    {
      "js": [
        "js/popup.js"
      ]
    }
  ]
}

それが役に立てば幸い。

于 2016-12-09T16:20:57.320 に答える