InstallTrigger.install не работает в Firefox 4 при использовании -chrome.Любая работа вокруг? - PullRequest
0 голосов
/ 22 июля 2011

Я работаю над приложением, которое работает в режиме Chrome в Firefox (fx.exe -chrome chrome: //app/content/main.xul). До Firefox 4 (3.6 и ниже) я использовал InstallTrigger.install для обновления приложения, когда появилась новая версия.

К сожалению, это больше не работает в Firefox 4. Кто-нибудь еще сталкивался с этой проблемой? Как ты справился с этим?

1 Ответ

1 голос
/ 26 июля 2011

Чтобы обойти эту проблему, мы использовали API AddOnManager вместо InstallTrigger.

Для получения дополнительной информации см. XUL Dev Add-On Manager

Components.utils['import']("resource://gre/modules/AddonManager.jsm");

AddonManager.getInstallForURL(xpi_address, function(addon) {
    addon.addListener({
        onDownloadStarted: function() {
            alert('Download Started');
        }
      });
      addon.addListener({
        onDownloadProgress: function() {
            var complete_percent = parseInt((100 * (addon.progress/addon.maxProgress)),10);
        }
      });
      addon.addListener({
        onDownloadFailed: function() {
            alert('Upgrade Failed');
        }
      });
      addon.addListener({
        onDownloadEnded: function() {
            alert('Download Successful');
        }
      });
      addon.addListener({
        onInstallStarted: function() {
            alert('Install Started');
        }
      });
      addon.addListener({
        onInstallEnded: function() {
            alert('Install Successful');
        }
      });
      addon.addListener({
        onInstallFailed: function() {
            alert('Install Failed');
        }
      });
      addon.install();
    }, "application/x-xpinstall");
...