java applet js_通过JSObject从Java Applet调用JavaScript到JavaScript的方法不适用于IE9和IE10...

我使用JSObject.call从我的小程序调用Java Script API。

这对Chrome Firefox和Internet Explorer v7和v8非常有用。

使用v9和v10该小程序无法正常工作。我可以看到调用JSObject.call时失败,并且从Java脚本调用的任何API(在applet中实现)都无法执行(例如myMethod)。

从Applet -

public void paint(Graphics g)

{

if (!appletInit)

{

try

{

window = JSObject.getWindow(this);

window.call("MyAppletLoad", new Object[0]);

}

catch (Exception e)

{

e.printStackTrace();

}

}

appletInit = true;

}在资源管理器调试中,我看到这个错误:

SCRIPT438:对象不支持属性或方法'myMethod'

在Java控制台中,我看到这个例外:

Exception in thread "AWT-EventQueue-3" netscape.javascript.JSException: Unspecified error invoking method or accessing property "onAppletLoad"

at sun.plugin2.main.client.MessagePassingJSObject.newJSException(Unknown Source)

at sun.plugin2.main.client.MessagePassingJSObject.waitForReply(Unknown Source)

at sun.plugin2.main.client.MessagePassingJSObject.call(Unknown Source)

at SmartConfig.paint(SmartConfig.java:239)

at sun.awt.RepaintArea.paintComponent(Unknown Source)

at sun.awt.RepaintArea.paint(Unknown Source)

at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)

at java.awt.Component.dispatchEventImpl(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.EventQueue.dispatchEventImpl(Unknown Source)

at java.awt.EventQueue.access$200(Unknown Source)

at java.awt.EventQueue$3.run(Unknown Source)

at java.awt.EventQueue$3.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)

at java.awt.EventQueue$4.run(Unknown Source)

at java.awt.EventQueue$4.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)第239行是使用JSObject.call的行:

window.call("MyAppletLoad", new Object[0]);

如果我将浏览器模式设置为兼容性视图或旧版本(8或更低版本),则效果良好。

它是IE9 \ 10的错误?与IE8相比有什么变化?

我该如何解决这个错误?

请协助。

谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值