[英]java applet requestFocus() method error when called in js
我在JS中调用requestFocus()
方法时出错。
Uncaught TypeError: Object #<HTMLAppletElement> has no method 'requestFocus'
这是我<head>
标记之间的JS代码
function onLoad() {
var attributes = {
'id': 'Client',
'archive': 'client.jar',
'code': 'org.kuzy.client.ui.Applet.class',
'width': '100%',
'height': '100%'
};
var parameters = {
'scriptable': 'true'
};
deployJava.runApplet(attributes, parameters);
window.onfocus = function() {
document.getElementById("Client").requestFocus();
};
}
有一个奇怪的功能,当我在chrome中的debug中运行代码时,一切正常。 希望您的指教。
我不确定,但是可能在您调用方法requestFocus()小程序时尚未加载。 可能在调试时,您正在停止js执行,并且给了要加载的applet足够的时间。 因此,可能需要回调或某种机制才能知道applet何时准备就绪。
整个方法都有“不良代码”的味道。
deployJava.runApplet(attributes, parameters);
调用应该在页面正文中,并在页面写入后立即调用。 function onLoad()
应该在逻辑上在文档头中定义。 onLoad
调用时,applet至少应处于loading状态 ,甚至可以加载以供使用。 请注意,下载页面,脚本,样式和图像时会触发onload
事件。 不过,这并不包括那些由JVM处理下载(如applet的jar文件或者其媒体资源)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.