2

我读到您可以通过调用从 Java Applet 调用 JavaScript 代码

JApplet.getAppletContext().showDocument( "javascript:alert('Hello World');" );

但是,当我这样做时,我收到以下错误:

java.net.MalformedURLException: unknown protocol: javascript

我该如何解决这个问题?

4

2 回答 2

4

我得到与您相同的异常,因为 URL 类不接受 javascript: 作为有效协议。

不过有一种解决方法;为 URL 构造函数提供一个 URLStreamHandler。

例子:

final URLStreamHandler streamHandler = new URLStreamHandler() {

    @Override
    protected URLConnection openConnection(URL u)
        throws IOException {
        return null;
    }

};

try {
    getAppletContext().showDocument(
        new URL(null, "javascript:alert('It works!');", streamHandler));
} catch (MalformedURLException me) {
    //log or whatever
}
于 2008-10-15T12:33:15.387 回答
2
    try {
        this.getAppletContext().showDocument(new URL("javascript:alert('hello world');"));
    }catch(Exception e) {
        e.printStackTrace();
    }

工作!

也许浏览器没有启用javascript..只是一个猜测

于 2008-10-06T09:58:51.473 回答