在IE9和IE9平台预览中,我不再能够从Java小程序调用Javascript方法

在IE9和IE9平台预览中,我不再能够从Java小程序调用Javascript方法,java,javascript,applet,internet-explorer-9,Java,Javascript,Applet,Internet Explorer 9,在IE和Firefox的早期版本中,我能够从运行在同一页面上的Java小程序中调用JavaScript中的methodFoo。在IE9中,这不再有效。是否有一些额外的步骤,或一种不同的方式,这样做将工作的IE9 我的Java小程序包含 import netscape.javascript.JSObject; ... private transient JSObject jso; ... public void init() { ... jso = JSObject.getWind

在IE和Firefox的早期版本中,我能够从运行在同一页面上的Java小程序中调用JavaScript中的methodFoo。在IE9中,这不再有效。是否有一些额外的步骤,或一种不同的方式,这样做将工作的IE9

我的Java小程序包含

import netscape.javascript.JSObject;
...
private transient JSObject jso;
...
public void init() {
    ...
    jso = JSObject.getWindow(this);
    ... }

public void CalledFromSecondaryThread(){
    ...
    jso.call("methodFoo", object_to_pass);
    ... }
我的Html页面包含

...
<object style="height: 1px;width: 650px;" classid = "clsid:CAFEEFAC-0016-0000-0011-ABCDEFFEDCBA" codebase = "http://java.sun.com/update/1.6.0/jinstall-6u11-windows-i586.cab#Version=6,0,0,11" id="AppletControl">
  <param name="java_arguments" value="-Xmx256m" />
  <param name = "CODE" value = "com.namespace.Applet.class" />
  <param name = "archive" value = "./lib/applet.jar" />
  <param name = "type" value = "application/x-java-applet;version=1.6" />
  <param name = "scriptable" value="true" />
  <param name = "mayscript" value="true" />
</object>
...
<script type="text/JavaScript" src="js/script.js"></script>
...
从jso.call收到的异常是

netscape.javascript.JSException: No such method "methodFoo" on JavaScript object

这是IE9测试版中的错误620646,在RC和IE9的更新版本中已经修复

这是IE9测试版中的错误620646,在RC和IE9的更新版本中已经修复

我发现这也适用于IE9的“怪癖”模式,因此对某些人来说,为页面启用怪癖模式是一个合理的解决办法。如果您已经(或创建)了Microsoft反馈门户的登录名,您可以在此处查看错误的状态:您尝试过使用eval吗?比如
jso.eval(“methodFoo()”)
。当我使用LiveConnect时,我根本不使用
call
,因为它在FF Mac、Safari和Opera 9.8中被破坏了。有关更多信息,请参阅。顺便说一句,你的链接不起作用。它现在被修复了吗?我发现这在IE9的“怪癖”模式下也能工作,所以对一些人来说,为页面启用怪癖模式是一个合理的解决办法。如果你已经(或创建)了Microsoft反馈门户的登录名,你可以在这里查看错误的状态:你尝试过使用eval吗?比如
jso.eval(“methodFoo()”)
。当我使用LiveConnect时,我根本不使用
call
,因为它在FF Mac、Safari和Opera 9.8中被破坏了。有关更多信息,请参阅。顺便说一句,你的链接不起作用。现在修好了吗?
netscape.javascript.JSException: No such method "methodFoo" on JavaScript object