我开发了一个NP API插件并且正在玩它。我观察下面两件事我可以在不重新启动浏览器和机器的情况下安装插件吗
- 当我第一次安装插件时,我需要重新启动我的mac os来加载插件。
- 每当我更新插件,我需要重新启动浏览器。
我想在不重新启动浏览器和计算机的情况下安装插件。请指教
我开发了一个NP API插件并且正在玩它。我观察下面两件事我可以在不重新启动浏览器和机器的情况下安装插件吗
我想在不重新启动浏览器和计算机的情况下安装插件。请指教
只要您将其安装为插件而不是扩展名(例如Firefox上的XPI),则无需重新启动浏览器。在Mac OS X上,这意味着将.plugin文件放入/ Library/Internet Plugins /或〜/ Library/Internet Plugins /中。您可以指示浏览器加载插件列表如下:
navigator.plugins.refresh(false);
假告诉它不要刷新页面做到这一点。
更新是一个稍微不同的问题;除非文件名与原始文件名不同,否则浏览器将不会注意到没有重新启动浏览器就会发生插件更新。我通常的解决方案是在.plugin/bundle文件名中包含插件的版本号,例如“FBTestPlugin_1.0.0.plugin”,所以当它更新时,它的命名方式会有所不同。
在Windows上,不同的NPAPI浏览器在插件检测(以及这些浏览器的不同版本)方面存在不同的问题,但是我发现使这项工作最好的方法是将每个插件安装在版本特定的子目录中特定的文件名;这看起来有点过分,但我正在处理的情况是使用了一个拥有5000万次安装的插件,并且所有支持的浏览器版本都必须运行。我也在使用注册表安装方法(HKCU/Software/MozillaPlugins)。
希望帮助
你在Windows上安装一个插件后,你应该叫这样的:
navigator.plugins.refresh(true);
重新加载包含插件当前页面。请参阅http://www.devguru.com/technologies/javascript/11232
感谢Taxilian,您是NPAPI插件的导师:) ..我的关注仅限于Mac OS,因为我只针对MAC。感谢您的回复 – batwadi
heh。不,我只是最有声望的;有很多人知道这件事情比我更好,但不幸的是,他们中的大多数人都坚持自己。很高兴我能帮上忙。 – taxilian
嗨Taxilian,即使在给予上述JavaScript之后,为什么我需要刷新Html页面2次以便从JavaScript调用任何插件方法。如果您有任何想法请咨询。 – batwadi