【问题标题】:NPAPI Plugin doesn't work well on ChromeNPAPI 插件在 Chrome 上无法正常工作
【发布时间】:2019-02-01 21:08:16
【问题描述】:

npapi 和 firebreath 我都试过了,但它们都只在 Firefox 上运行良好,在 Chrome 上很容易卡住。我在插件中写的函数是simplist "return 0;"。我处理了 Xemd 案例。

NPError NPP_GetValue(NPP instance, NPPVariable variable, void *value)

{
  ...
  switch (variable) {

  case NPPVpluginNeedsXEmbed:
    *((BOOL*)value) = TRUE;
...
}

【问题讨论】:

  • 你说的“所有这些都只在 Firefox 上运行良好,在 Chrome 上很容易卡住”是什么意思?
  • 您尝试使用哪个版本的 Firefox 和 Chrome?
  • 非常感谢。我用的是支持npapi的老版本:firefox 40, chrome 36, 41。我的问题是:在firefox上,javescript可以轻松调用插件导出的函数,但是在chrome上,一旦js调用插件函数,浏览器就会卡住,调用完成需要很长时间,而且在大多数情况下它永远不会完成,即使函数什么都不做,只是返回0。

标签: google-chrome firefox npapi


【解决方案1】:

我不确定您使用的是什么版本; Chrome 于 2014 年停止支持 NPAPI 插件(由 FireBreath 1 支持); Firefox 在 Firefox 52 中停止了对 NPAPI 插件的支持,尽管我相信有一个 LTS 版本的 Firefox 52 继续支持它们一年半(现在可能已经结束)。

简而言之,NPAPI 几乎已经死了——在普遍使用的浏览器中最后一个坚持是 Safari,它随着 macOS Mojave 的发布而消失。

有一种方法可以编写 firebreath 2 插件并通过本机消息传递使其工作,但这是一个有点复杂的过程,并且没有很好的文档记录;您可以在 firebreath-dev google 小组中找到信息,并在那里提出澄清问题。

【讨论】:

  • 很荣幸看到你的回答,我写的插件就像“B计划”之类的东西,可能不会用,但我的领导告诉我做一个,以防客户要求。插件只是导出一些函数让javascript调用,这些函数是关于加密和解密的。我的问题是:在firefox上,javescript可以轻松调用函数,但在chrome上,一旦js调用插件函数,浏览器就会卡住,调用完成需要很长时间,而且大多数情况下它永远不会完成。我尝试了一些简单的功能,例如“return 0;”但都是一样的。
  • 版本:chrome 36 和 41。
【解决方案2】:

当我尝试使用 chrome 版本 22 时问题解决了。更高版本也可以工作。 这么旧的版本好不容易找到了,我的插件恐怕永远用不上了-_-||

【讨论】:

  • 我尝试了多个版本,31(包括)以下的都可以,更高的版本有问题。谁能告诉我为什么???
猜你喜欢
  • 2017-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-25
  • 1970-01-01
  • 2012-05-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多