我在 Mac 上有 Safari/Firefox 的浏览器插件。当用户启动网页时,它会要求用户下载插件。理想情况下,它应该在下载完成后自动刷新页面并使用插件。
该代码能够检测到插件,但是当我在插件中调用方法时,它会引发异常。如果我手动刷新页面并调用插件方法,我就可以做到。
InitPlugin()
{
var IsPluginInstalled;
var plugin = navigator.plugins["My Plug-In"]; // success
var engine;
if (plugin)
{
engine = plugin.getElementById("MyPlugin");
var version = engine.getAttributeByKey("my_plugin_version"); // crashing here.
IsPluginInstalled = true;
}
}
RefreshPlugin()
{
navigator.plugins.refresh();
if (!InitPlugin())
{
setInterval(InitPlugin,3000);
}
}
安装后页面应自动刷新 如果手动刷新页面,此代码工作正常。