safari 5.1 中插件的 NPP_GetValue() 和 invoke() 方法没有被调用
我开发了一个32位NPAPI插件。该插件有一个返回插件版本的本机函数。我已将此捆绑文件安装在 Library/Internet Plugin 文件夹下。我有一个带有按钮的测试 html 页面。单击此按钮后,插件的版本将显示在警报框中。在 32 位模式下的 safari 5 中,这个插件工作正常,它给了我版本。
但在 32 位模式下的 Safari 5.1 中,单击按钮时我无法获取该版本。
Safari 5 中的调用流程: NP_Initialize()->NP_GetEntryPoints()->NPP_New()->NPP_GetValue()。 单击按钮 NPP_GetValue()->invoke()->plugin 方法。
Safari 5.1 中的调用流程: NP_Initialize()->NP_GetEntryPoints()->NPP_New() 单击按钮后什么也没有发生。
这是我的 HTML 文件的摘录:
<HTML>
<HEAD>
</HEAD>
<BODY>
<td><input type='button' name=version id='version' value='version'
onclick="javascript:version()"/>
</td>
<object id="pluginobj" type="application/my-p"></object>
<SCRIPT language="JavaScript1.3">
function version()
{
window.alert(document.getElementById("pluginobj").version());
}
</SCRIPT>
</BODY>
</HTML>
I have developed a 32 bit NPAPI plugin . This plugin has a native function which returns the plugin version. I have installed this bundle file under Library/Internet Plugin folder . I have a test html page with a button . On click of this button the version of the plugin will be displayed in alert box. In safari 5 in 32 bit mode this plugin works fine and it gives me the version.
BUt in safari 5.1 in 32 bit mode on click of the button i am unable to get the version .
call flow in safari 5 :
NP_Initialize()->NP_GetEntryPoints()->NPP_New()->NPP_GetValue().
On click of button NPP_GetValue()->invoke()->plugin method.
call flow in safari 5.1 :
NP_Initialize()->NP_GetEntryPoints()->NPP_New()
on click of button nothing happens.
here is an extract of my HTML file:
<HTML>
<HEAD>
</HEAD>
<BODY>
<td><input type='button' name=version id='version' value='version'
onclick="javascript:version()"/>
</td>
<object id="pluginobj" type="application/my-p"></object>
<SCRIPT language="JavaScript1.3">
function version()
{
window.alert(document.getElementById("pluginobj").version());
}
</SCRIPT>
</BODY>
</HTML>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论