1

我有 Mac Safari/fire Fox 浏览器的 NPAPI 插件。插件有几种方法,我可以从 java 脚本中调用它。我想知道我是否可以通过其中的实现方法关闭或卸载插件。我需要这个函数来卸载来自浏览器/内存的插件。

4

1 回答 1

3

简短的回答:没有。

更长的答案:不是真的。您可以做的是从 DOM 中删除 object 标签,这将导致该实例被卸载。它不能保证浏览器会卸载该模块,但它至少可以让实例远离你。

大多数想要这样做的人都试图找到一种无需关闭浏览器即可更新插件的方法;您可以这样做,但您需要使用与旧插件不同的文件名安装新插件。我说的是 .plugin/ 包的文件名,而不是其中的二进制文件。

如果你有一个插件~/Internet Plugins/MyPlugin-1.0.0.0,你删除它并放入一个新插件,~/Internet Plugins/MyPlugin-1.0.0.1然后在javascript中你调用navigator.plugins.refresh(false);浏览器会找到新插件,当你实例化它时它会给你新版本。但是,捆绑包必须以不同的方式命名;那是关键。

于 2013-08-29T16:15:36.973 回答