繁体   English   中英

在js中调用时,java applet requestFocus()方法错误

[英]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何时准备就绪。

整个方法都有“不良代码”的味道。

  1. deployJava.runApplet(attributes, parameters); 调用应该在页面正文中,并在页面写入后立即调用。
  2. function onLoad()应该在逻辑上在文档头中定义。
  3. onLoad调用时,applet至少应处于loading状态 ,甚至可以加载以供使用。 请注意,下载页面,脚本,样式和图像时会触发onload事件。 不过,这并不包括那些由JVM处理下载(如applet的jar文件或者其媒体资源)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM