我有使用 NPAPI Lib 为 Safari 和 Firefox for Mac 系统构建的浏览器插件。现在我有更新版本的插件,如果用户没有最新的插件,我要求用户下载新的插件。
下载插件后,它没有被加载,我必须关闭浏览器并重新启动它。
我定期做
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;
}
}
}
}
下次请确保在文本中提及您的操作系统;我从标签中看到您使用的是 OS X,但它改变了一切,让您知道您使用的是 Mac。
您需要将新版本安装为不同的文件名(嗯,.plugin/ 包需要以不同的名称命名)。最简单的方法是将插件的版本放在文件名中,例如〜/库/互联网\插件/MyPlugin_1.1.0.12.plugin
只要新插件的文件名与旧插件不同,它就应该可以工作。