0

我为浏览器制作了一个插件来喷火(Windows)。现在我确实更新了插件 - 但在加载插件之前无法升级 dll 插件。

如何重启浏览器刷新插件?还是作为可以从浏览器缓存中下载的插件?

4

2 回答 2

1

我看到的选项是:

  • 告诉用户安装/更新后重新启动浏览器
  • 告诉用户在继续安装之前关闭浏览器

请注意,您仍然可能在替换 DLL 时遇到问题。例如,Flash 所做的就是在文件名后面加上版本(例如 npYourPlugin_1_2_77.dll),因此文件锁定没有问题。

如果您这样做,您甚至可能不需要在可以调用时重新启动浏览器navigator.plugins.refresh()(从 Firefox 17 开始工作,但不确定其他浏览器)。

另请注意,如果您也需要支持它,我不确定 ActiveX 插件 (IE) - 也许出租车司机会在我没有遇到的其他情况下加入。

于 2013-07-27T16:05:28.973 回答
0

升级我的 firebreath 插件的步骤是

  1. 通过 NSIS 制作插件安装程序。
  2. 在安装开始时,检测插件是否被任何浏览器占用。
  3. 关闭所有正在使用该插件的浏览器。
  4. 卸载以前版本的 pluin。
  5. 在最新版本号的文件夹中安装新版本的插件。
  6. 在安装结束时,重新启动之前关闭的浏览器,然后导航到所需的 URL。

顺便说一句,正如 Georg 所说,您在检查插件版本后无需重新启动 Chrome 和 Firefox,这意味着您有升级插件并立即使用新插件的例程。但是,您必须重新启动 IE,因为当您获得一个 activex 控件的版本时,您必须实例化它,这使得插件首先加载。

现在,它运行良好且符合预期。

于 2013-07-29T12:53:24.717 回答