我在this link的帮助下试用了Gecko SDK 1.9.1提供的NPRuntime示例。
它在Firefox3.6上运行得非常好。
按照上面的步骤,我创建了一个新的脚本插件(npmyplugin.dll)。我目前正在将npmyplugin.dll放在Firefox/plugins以外的文件夹中。我正在注册表中注册相关的mime类型和插件路径。插件被正确加载。但现在浏览器不会调用NPP_GetValue。
我怀疑这一定是因为我将插件放在了Firefox/plugins以外的目录中。因此,我用npruntime.dll ( Gecko sdk附带的示例)做了同样的事情。令人惊讶的是,npruntime.dll脚本运行正常。在创建新插件时,请指导我是否遗漏了任何重要的东西。
发布于 2010-08-04 00:29:14
在许多情况下,直到您第一次使用javascript访问NPP_GetValue时,才会调用它来获取NPObject。当您执行getElementById时,它将发出调用。
可能正在进行对GetValue的其他调用,但您看不到它们,因为您没有处理它们。然而,这仍然不能保证。
发布于 2010-03-06 18:27:42
很抱歉这么晚才回复。我以某种方式解决了这个问题。我使用标签嵌入了插件
然后我写了一小段javascript代码。
var MyWorkingPlugin = document.getElementById('MyPlugin');
似乎在执行上面的javascript之后,NPP_GetValue被调用了。目前我没有令人信服的理由为什么会发生这种情况,但它确实有效,我现在很高兴。如果任何人可以解释上述行为,请让我们知道。
https://stackoverflow.com/questions/2239589
复制相似问题