【问题标题】:Opening an URL with request parameters in IE using Java Runtime class使用 Java Runtime 类在 IE 中打开带有请求参数的 URL
【发布时间】:2012-11-11 21:24:20
【问题描述】:

我有一个代码块可以在默认浏览器中打开给定的 URL。我在 IE 中打开带参数的 URL 时遇到问题,当默认浏览器是 FireFox 时它可以正常工作,但似乎 IE 正在删除这些参数!!! 有没有其他办法解决这个问题?

我使用的代码是:

 Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler \"" + url + "\"");

我对 IE 中的“...test.html?param1=val1&param2=val2”之类的 URL 有疑问

谢谢,

拉克什.A

【问题讨论】:

    标签: java internet-explorer runtime.exec


    【解决方案1】:

    如果使用 Java 1.6,请尝试以下操作:

    Desktop.getDesktop().browse(new URI(url))
    

    这 (java.awt.Desktop#browse(..)) 是一种独立于平台的方式来打开默认浏览器。

    【讨论】:

    • 其实,如果你用的不是1.6,那就开始用吧。它已经发布了4年左右。 :-) 哦,顺便说一句,+1
    • 我尝试使用桌面但没有成功,据我所知,它的 IE 正在删除 [或不接受] 参数!
    • 我在Windows XP的IE7上测试过!
    【解决方案2】:

    您可能需要以某种方式转义/编码url& 字符对于命令解释器具有特殊意义。或者按照其他人所说的去做,不要使用 rundll32 来完成这项琐碎的任务。你是怎么想到尝试那样做的?这不是一个好方法。

    【讨论】:

    • 转义没用,我想用JDK5所以我没有选择桌面类!
    【解决方案3】:

    感谢您的建议,我以不同的方式解决了它。我创建了一个带有参数值的 JavaScript 文件并在 HTML 文件中使用它,可能不是一个干净的解决方案,但对我有用:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-20
      • 2017-02-22
      • 1970-01-01
      • 2015-03-13
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多