NPAPI插件更新无法动态运行

时间:2013-08-13 05:29:08

标签: javascript plugins npapi firebreath browser-plugin

我使用NPAPI Lib for Safari和firefox for Mac System构建浏览器插件。现在我有更新的版本插件,如果用户没有最新的插件,我要求用户下载新的插件。

下载插件后,它没有加载,我必须关闭浏览器并重新启动它。

我正在定期进行navigator.plugin.refresh(false)但没有成功。我暂时无法重新加载页面,因为我仍然在使用旧的插件版本。

如果在活动监视器中杀死插件并重新启动浏览器,它将显示新的插件版本。 请帮帮我。

编辑:

此方法每3秒调用

function InitIEPlugin() {
plugin = navigator.plugins["MyPlug-In"];
        if (plugin) {
            remoteEngine = document.getElementById('MyPlugin');
            if (remoteEngine) {
                isMyPluginInstalled = true;
                var version = remoteEngine.getAttributeByKey("plugin_version");
                if ((ua.indexOf('Intel Mac OS X 10.5') >= 0) || (ua.indexOf('Intel Mac OS X 10_5') >= 0)) {
                    //isHarmonyPluginUpgradeRequired = CheckVersionOfPlugin(version);
                }
                else {
                    isMyPluginUpgradeRequired = CheckVersionOfMacPlugin(version);
                    if (isMyPluginUpgradeRequired == true)
                        isMyPluginInstalled = false;
                }
            }
        }
   }

1 个答案:

答案 0 :(得分:1)

下次确保你在文中提到你的操作系统;我看到你的标签上有OS X,但它会改变所有内容以便知道你在Mac上。

您需要将新版本安装为不同的文件名(嗯,.plugin / bundle需要以不同方式命名)。最简单的方法是将插件的版本放在文件名中,例如: 〜/ Library / Internet \ Plug-Ins / MyPlugin_1.1.0.12.plugin

只要新插件的文件名与旧插件不同,它就应该有效。