【问题标题】:Firefox Gecko SDK : NPP_GetValue not getting calledFirefox Gecko SDK:未调用 NPP_GetValue
【发布时间】:2010-08-04 00:29:13
【问题描述】:

我在this link 的帮助下试用了 Gecko SDK 1.9.1 提供的NPRuntime 示例。

它在 Firefox 3.6 上运行良好。

按照上述步骤,我创建了一个新的脚本插件 (npmyplugin.dll)。我目前将npmyplugin.dll 放在Firefox/plugins 以外的文件夹中。我正在注册表中注册关联的 mime 类型和插件路径。该插件已正确加载。但是现在浏览器没有调用NPP_GetValue

我怀疑这一定是因为我将插件放在Firefox/plugins 以外的目录中。因此我对npruntime.dll(Gecko sdk 附带的示例)做了同样的事情。令人惊讶的是npruntime.dll 脚本正在工作。请指导我在创建新插件时是否遗漏了任何重要内容。

【问题讨论】:

  • 如果您在这里没有得到答案,请尝试 mozilla.dev.tech.plugins groups.google.com/group/mozilla.dev.tech.plugins/topics?pli=1>。
  • 你检查NP_Initialize()等是否被调用?
  • 我使用的是 firefox 26.0 版,那么这个 Gecko SDK 可以工作吗?

标签: firefox gecko npapi firefox3.6


【解决方案1】:

在许多情况下,直到您第一次使用 javascript 访问它时,才会调用 NPP_GetValue 来获取 NPObject。当您执行 getElementById 时,它会进行调用。

可能正在对 GetValue 进行其他调用,但您没有看到它们,因为您没有处理它们。但是,这仍然不能保证。

【讨论】:

  • 正如我所想的那样,我想我在某些浏览器上使用 标记时也看到了这个问题。不知道为什么。请注意安全并使用 ;不知道为什么,但它始终比 更好用
【解决方案2】:

抱歉这么晚才回复。我以某种方式解决了这个问题。我正在使用标签嵌入插件

然后我写了一个小的 javascript 代码

var MyWorkingPlugin = document.getElementById('MyPlugin');

似乎在执行上述javascript NPP_GetValue 后被调用。目前我没有令人信服的理由为什么它会发生,但它奏效了,我现在很高兴。如果有人可以解释上述行为,请告诉我们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-31
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多