Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NPAPI:如何在javascript中读取NPP_New的返回NPError值_Javascript_Npapi - Fatal编程技术网

NPAPI:如何在javascript中读取NPP_New的返回NPError值

NPAPI:如何在javascript中读取NPP_New的返回NPError值,javascript,npapi,Javascript,Npapi,我们正在为Mac中的Safari开发一个Netscape插件 我有一个场景,在NPP_New函数中完成的初始化失败,我返回NPERR_GENERIC_ERROR。如何在Javascript中读取此错误代码 在这方面的任何帮助都将不胜感激。 提前感谢。JS中没有C NPAPI调用的错误代码。但是,如果您已经知道错误代码是什么,那么您就不需要阅读它——只要尝试在try块中访问插件的一些可编写脚本的属性,如果失败,您就知道插件没有加载。如果您需要识别此特定的失败场景,我可以考虑以下选项: 成功NPP

我们正在为Mac中的Safari开发一个Netscape插件 我有一个场景,在NPP_New函数中完成的初始化失败,我返回NPERR_GENERIC_ERROR。如何在Javascript中读取此错误代码

在这方面的任何帮助都将不胜感激。
提前感谢。

JS中没有C NPAPI调用的错误代码。但是,如果您已经知道错误代码是什么,那么您就不需要阅读它——只要尝试在try块中访问插件的一些可编写脚本的属性,如果失败,您就知道插件没有加载。

如果您需要识别此特定的失败场景,我可以考虑以下选项:

  • 成功NPP_New,但相应地设置插件的内部状态(以便脚本稍后可以询问插件)
  • 将有问题的初始化从NPP_New中移出,并通过可编写脚本的函数(…
    ret=plugin.initStuff()
    )调用它
  • 如果您必须在NPP_New中失败(例如,因为OS X上没有支持的绘图模型),您可以调用该页面,通知脚本该情况

值得注意的是,这不允许区分原始场景、未安装的插件和被阻止的插件(flashblock、blocklist等)。检测是否未安装/启用插件非常简单,因为您可以通过JS访问插件列表。同意这对点击播放和其他拦截器没有帮助。你必须在新NPP_失败吗?你不能成功并允许脚本稍后询问插件的状态吗?George,NPP_New启动时有一个条件失败,我不应该加载插件。在这种情况下,我必须检查错误谢谢George,设置插件内部状态是什么意思?请原谅我的无知。我们如何设置插件的内部状态?我的意思是记住你失败了以及失败的原因。考虑到这一点,并且没有使NPP_New失败,例如,您可以将失败原因作为属性公开。