我有用于Mac Safari / fire Fox浏览器的NPAPI插件。插件有几种方法,我可以用java脚本调用它。我想知道我是否可以通过其中的实现方法关闭或卸载插件。我需要这个用于从浏览器/内存中卸载插件的功能。
答案 0 :(得分:3)
简短回答:不。
更长的答案:不是真的。您可以做的是从DOM中删除对象标记,这将导致实例被卸载。它不能保证浏览器会卸载模块,但它确实至少让你的实例不受影响。
大多数想要这样做的人都试图找到一种方法来更新插件而不关闭浏览器;你可以这样做,但你需要使用与旧插件不同的文件名安装新插件。我在谈论.plugin / bundle的文件名,而不是里面的二进制文件。
如果您在~/Internet Plugins/MyPlugin-1.0.0.0
中有插件并删除了该插件,并在~/Internet Plugins/MyPlugin-1.0.0.1
中添加了新插件,然后在javascript中调用navigator.plugins.refresh(false);
,则浏览器会找到新插件,当您实例化它会给你新版本。但是,捆绑包必须以不同的名称命名;这是关键。