如何修复“NPObject上的错误调用方法!”从javascript中调用已签名的applet上的方法时?

时间:2016-06-09 19:40:00

标签: javascript java applet jnlp

我正在使用一个java applet,它执行需要在浏览器沙箱之外访问的功能。 applet准备如下:

  • 所有需要特权访问的呼叫都会在对AccessController.doPrivileged()的调用中适当地包装。
  • jar已签名,并包含一个证书链,该证书链使用jarsigner -verify验证(输出为“jar验证。”)。
  • jar中的MANIFEST.MF包含: Manifest-Version: 1.0 Created-By: 1.8.0_05 (Oracle Corporation) Permissions: all-permissions
  • jnlp文件包含: <security> <all-permissions /> </security>
  • 使用dtjava部署applet: dtjava.embed({ id: 'myapplet', url: 'myapplet.jnlp', width: 1, height: 1, placeholder: "appletPlaceholder", }, {}, { onJavascriptReady: mycallback, } );
    • 在回调中,我在applet上调用一个方法: var applet = document.getElementById(appletId); applet.someMethod();

一切都按预期工作 - 但前提是服务小程序的基本URL(例如http://www.example.com/)被添加到Java控制面板中的Java“异常站点列表”中。

如果基本URL未在异常站点列表中列出,那么当调用someMethod()时,我从javascript中收到以下错误: Error calling method on NPObject!

这很神秘,我不知道如何追查问题的原因。

如何修复此错误?我如何调试此错误?

0 个答案:

没有答案