java - Applet-Javascript 交互中的焦点行为

标签 java javascript applet cross-browser

我有一个带有小程序的网页,它会打开一个弹出窗口并进行 Javascript 调用。当该 Javascript 调用导致对 HTML 输入进行 focus() 调用时,就会导致浏览器窗口将自身推到小程序窗口前面。但仅限于某些浏览器,即 MSIE。在 Firefox 上,小程序窗口保留在顶部。如何在 MSIE 中保持该行为一致?请注意,使用旧的 Microsoft VM for Java 也能达到所需的结果(小程序窗口在前面)。

HTML 代码:

<html>
    <head>
        <script type="text/javascript">
            function focusMe() {
                document.getElementById('mytext').focus();
            }
        </script>
    </head>
    <body>
        <applet id="myapplet" mayscript code="Popup.class" ></applet>
        <form>
            <input type="text" id="mytext">
            <input type="button" onclick="document.getElementById('myapplet').showPopup()" value="click">
        </form> 
    </body>
</html>

Java代码:

public class Popup extends Applet {
    Frame frame;
    public void start() {
        frame = new Frame("Test Frame");
        frame.setLayout(new BorderLayout());
        Button button = new Button("Push Me");
        frame.add("Center", button);
        button.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e) {
                frame.setVisible(false);
            }
        });
        frame.pack();
    }
    public void showPopup() {
        frame.setVisible(true);
        JSObject.getWindow(this).eval("focusMe()");
    }
}

最佳答案

// JSObject.getWindow(this).eval("focusMe()");
frame.requestFocuse();

通过更改这些应该词。

关于java - Applet-Javascript 交互中的焦点行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1883912/

相关文章:

IE10 中的 JavaScript 键盘事件

javascript - 如何防止javascript、Flash的navigateToURL?

java - 无法在小程序中 getInputStream()

java - 带 Java applet 的 Web 浏览器发布 native 库

Java相当于Oracle的TRUNC函数?

java - 如何让 maven appassembler 在生成的脚本中使用 javaw 而不是 java

Java:如果结果为空,如何分配给变量?

java - 调用依赖文件时出错

php - 带有电子邮件提交的Javascript弹出框

java - 多类 Java Applet