【发布时间】:2009-08-18 11:45:55
【问题描述】:
这在 Safari 中不起作用:
<html>
<body>
<applet id="MyApplet" code="MyAppletClass" archive="MyApplet.jar">
<script type="text/javascript">
alert(document.getElementById('MyApplet').myMethod);
</script>
</body>
</html>
myMethod 是MyAppletClass 中声明的公共方法。
当我第一次在 Safari 中加载页面时,它会在小程序完成加载之前显示警报(因此消息框显示undefined)。如果我刷新页面,小程序已经加载,并且警报显示function myMethod() { [native code] },正如您所期望的那样。
当然,这意味着小程序方法在加载之前不可用,但 Safari 不会阻止 JavaScript 运行。 <body onLoad> 也会出现同样的问题。
我需要的是 <body onAppletLoad="doSomething()"> 之类的东西。我该如何解决这个问题?
PS:我不确定它是否相关,但 JAR 已签名。
【问题讨论】:
标签: javascript java safari dom-events