我可以在不重新启动浏览器和计算机的情况下安装插件

bat*_*adi 5 cross-browser npapi

我开发了一个NP API插件并正在玩它.我在下面观察了两件事

  1. 当我第一次安装插件时,我需要重新启动我的mac os来加载插件.
  2. 每当我更新插件时,我都需要重新启动浏览器.

我想安装插件而不重新启动浏览器和机器.请指教

tax*_*ian 11

只要您将其安装为插件而不是作为扩展(例如firefox上的XPI),您就不需要重新启动浏览器.在Mac OS X上,这意味着将.plugin文件放在/ Library/Internet Plugins /或〜/ Library/Internet Plugins /中.您可以指示浏览器重新加载插件列表,如下所示:

navigator.plugins.refresh(false);
Run Code Online (Sandbox Code Playgroud)

false告诉它不要刷新页面来执行它.

更新是一个稍微不同的问题; 除非文件名与原始文件名不同,否则浏览器不会注意到在没有重新启动浏览器的情况下发生了插件更新.我通常的解决方案是在.plugin/bundle文件名中包含插件的版本号,例如"FBTestPlugin_1.0.0.plugin",所以当它更新时,它的命名方式不同.

在Windows上,不同的NPAPI浏览器在插件检测方面存在不同的问题(以及这些浏览器的不同版本),但我发现使用这个工作的最佳方法是将每个插件安装在具有特定于版本的文件名的特定于版本的子目录中; 这看起来有点矫枉过正,但我​​正在解决的案例是一个拥有5000万次安装的插件,并且所有支持的浏览器版本都必须能够正常工作.我还使用了注册表安装方法(HKCU/Software/MozillaPlugins).

希望有所帮助