我有一个代码块可以在默认浏览器中打开给定的URL。我在使用IE中的参数打开URL时遇到问题,当默认浏览器是FireFox时,它工作正常,但似乎IE正在删除这些参数! 还有其他方法可以解决这个问题吗?
我正在使用的代码是:
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler \"" + url + "\"");
我对IE中的“ ... test.html?param1 = val1& param2 = val2 ”等网址存在问题
谢谢,
Rakesh.A
答案 0 :(得分:2)
如果使用Java 1.6,请尝试以下方法:
Desktop.getDesktop().browse(new URI(url))
这个(java.awt.Desktop#browse(..)
)是一种独立于平台的打开默认浏览器的方式。
答案 1 :(得分:0)
您可能需要以某种方式转义/编码url
。 &
字符对命令解释器具有特殊含义。或者做他们其他人说的话,不要使用rundll32来完成这项琐碎的任务。你是怎么想的那样尝试这样做的?这不是一个好方法。
答案 2 :(得分:0)
感谢您的建议,我以不同的方式解决了这个问题。我创建了一个带有参数值的JavaScript文件,并在HTML文件中使用它,可能不是一个干净的解决方案,但对我有用:)