提问人:user20298 提问时间:10/6/2008 更新时间:10/15/2008 访问量:5302
从小程序调用 JS:MalformedURLException:未知协议:javascript
Calling JS from Applet: MalformedURLException: unknown protocol: javascript
问:
我读到您可以通过调用 Java Applet 从 Java Applet 调用 JavaScript 代码
JApplet.getAppletContext().showDocument( "javascript:alert('Hello World');" );
但是,当我这样做时,我收到以下错误:
java.net.MalformedURLException: unknown protocol: javascript
如何解决此问题?
答:
2赞
RuntimeException
10/6/2008
#1
try {
this.getAppletContext().showDocument(new URL("javascript:alert('hello world');"));
}catch(Exception e) {
e.printStackTrace();
}
工程!!
也许浏览器没有启用javascript..只是一个猜测
4赞
Rickard
10/15/2008
#2
我得到了和你一样的例外,因为 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
}
评论
0赞
user20298
10/24/2008
这将在 Firefox 中打开一个新选项卡,但页面和位置地址都是空的。什么也没发生..:/
0赞
user20298
10/24/2008
没关系,显然我在 Ubuntu 上的 Firefox 3.0.3 被窃听了:)它可以在其他计算机上完美运行。谢谢!
评论