2012-07-19 2 views
3

Comment afficher une notification lorsque l'extension Chrome est mise à jour automatiquement? Mon exigence est d'afficher un popup après la mise à jour de l'extension chrome automatiquement.Notification de mise à jour d'extension Chrome

+0

duplication possible de [événement de mise à jour automatique de l'extension chrome] (http://stackoverflow.com/questions/11335541/chrome-extension-auto-update-event) –

Répondre

3

Il y a un chrome.runtime.onInstalled event vous pouvez écouter qui se déclenche lorsque l'extension est installée ou mise à jour (so says the new packaged app documentation), mais il est uniquement disponible dans le canal dev en ce moment.

+0

Le deuxième lien est obsolète. Pouvez-vous donner un exemple simple: comment ouvrir la fenêtre contextuelle lorsque l'extension est mise à jour? – sorin

+0

Eh bien, le lien vers 'chrome.runtime.onInstalled' est vraiment tout ce dont vous avez besoin. Je ne suggère pas d'ouvrir une fenêtre popup à la mise à jour parce que c'est vraiment ennuyeux, mais ce serait quelque chose comme ceci: 'chrome.runtime.onInstalled.addListener (function (détails) { if (details.reason ==" update ") { chrome.windows.create ({url:" popup.html ", tapez:" popup "}); } });' – gengkev

+0

Le lien vers chrome.runtime.onInstalled a pourri. Google le redirige vers quelque chose d'impossible maintenant. (https://code.google.com/https://developer.chrome.com/extensions/dev/runtime.html) Voici un lien mis à jour: https://developer.chrome.com/extensions/runtime#event- onInstalled –

0

Voici la réponse complète et cela fonctionne pour moi.

//=============== 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" 
     ] 
    } 
    ] 
} 

Espérons que ça aide.

Questions connexes