从Applet调用JS:MalformedURLException:未知协议:javascript

时间:2008-10-06 08:57:52

标签: java javascript url

我读到你可以通过调用

从Java Applet调用JavaScript代码
JApplet.getAppletContext().showDocument( "javascript:alert('Hello World');" );

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

java.net.MalformedURLException: unknown protocol: javascript

我该如何解决这个问题?

2 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:2)

    try {
        this.getAppletContext().showDocument(new URL("javascript:alert('hello world');"));
    }catch(Exception e) {
        e.printStackTrace();
    }

作品!!

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