How to cause a chrome app to update as soon as possible?

前端 未结 3 1296
没有蜡笔的小新
没有蜡笔的小新 2020-12-24 15:05

Deploying a chrome packaged app and publishing updates on the chrome web store allows users to automatically receive application updates. There are situations where you want

相关标签:
3条回答
  • 2020-12-24 15:37

    Install a listener for chrome.runtime.onUpdateAvailable, which fires when the new .crx file has been downloaded and the new version is ready to be installed. Then, call chrome.runtime.requestUpdateCheck:

    chrome.runtime.onUpdateAvailable.addListener(function(details) {
      console.log("updating to version " + details.version);
      chrome.runtime.reload();
    });
    
    chrome.runtime.requestUpdateCheck(function(status) {
      if (status == "update_available") {
        console.log("update pending...");
      } else if (status == "no_update") {
        console.log("no update found");
      } else if (status == "throttled") {
        console.log("Oops, I'm asking too frequently - I need to back off.");
      }
    });
    
    0 讨论(0)
  • 2020-12-24 15:41

    According to the Google Chrome documentation you need to have

    chrome.runtime.onUpdateAvailable.addListener(function(details) {
      chrome.runtime.reload(); // To restart the chrome App instantaneously
    });
    

    But this take time to reflect JS changes into the chrome because background.js loaded into the background and it needs to be unloaded and loaded again

    To cop this situation you need to include

    chrome.runtime.onInstalled.addListener(function(details) {
      chrome.runtime.reload();
    });
    

    as wel.

    onInstalled called whenever google extension installed first time (fresh installation), google extension updated or google chrome updated.

    0 讨论(0)
  • 2020-12-24 15:45

    Depending on your application, when an update is detected you may want to use something like setTimeout and call chrome.runtime.restart() or chrome.runtime.restart() later

    0 讨论(0)
提交回复
热议问题