我使用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;
}
}
}
}
答案 0 :(得分:1)
下次确保你在文中提到你的操作系统;我看到你的标签上有OS X,但它会改变所有内容以便知道你在Mac上。
您需要将新版本安装为不同的文件名(嗯,.plugin / bundle需要以不同方式命名)。最简单的方法是将插件的版本放在文件名中,例如: 〜/ Library / Internet \ Plug-Ins / MyPlugin_1.1.0.12.plugin
只要新插件的文件名与旧插件不同,它就应该有效。