插件的NPP_GetValue()和invoke()方法未在safari 5.1中调用

时间:2011-10-17 11:48:40

标签: macos plugins safari

我开发了一个32位NPAPI插件。这个插件有一个返回插件版本的本机函数。我在Library / Internet Plugin文件夹下安装了这个bundle文件。我有一个带按钮的测试html页面。单击此按钮,插件的版本将显示在警告框中。在32位模式的safari 5中,这个插件工作正常,它给了我版本。

在32位模式的safari 5.1中点击按钮我无法获得该版本。

safari 5中的呼叫流程: NP_Initialize() - > NP_GetEntryPoints() - > NPP_New() - > NPP_GetValue()。 点击按钮NPP_GetValue() - > invoke() - >插件方法。

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>

0 个答案:

没有答案