【问题标题】:using java not javascript, open URL in same tab of default browser使用 java 而不是 javascript,在默认浏览器的同一选项卡中打开 URL
【发布时间】:2017-07-28 19:27:15
【问题描述】:

我编写了一个 java 脚本,它的工作是打开文本文件中提到的 URL,它应该不断重复这个过程,但问题是一旦它读取到文本文件下一行中提到的新 URL,它就会打开该 URL在新标签中,但我想在 chrome 浏览器的同一标签中打开所有 URL。

编写我所写的代码:

while(true){ 
    BufferedReader buf = new BufferedReader(new FileReader("C:\\link.txt"));
    String currentLine = null;
    while((currentLine = buf.readLine())!=null){
        System.out.print(currentLine+"\n");
         Desktop.getDesktop().browse(new URL(currentLine).toURI());
         Thread.sleep(10000);
    }
    }
}

除了 Desktop.getDesktop() 是否还有其他选项也可以使用

我的文本文件有两个这样的链接:

https://www.google.co.in/?gfe_rd=cr&ei=y8a_WPTUFLOl8weF8bK4DQ
https://in.yahoo.com/

如何在同一个标​​签中打开它们?

【问题讨论】:

  • 有没有办法解决上述问题..!!!
  • 你能用一个 HTML 页面来显示这些链接吗?在这种情况下,您可以打开该 HTML 页面并使用通用 HTML target 提供指向这两个页面的链接。因此,两者都将在同一个选项卡中打开。
  • 如何在java中做到这一点
  • Desktop.getDesktop().browse(new URL("file://C/path/to/html/file.html").toURI()); - 这将在浏览器中打开 HTML 文件。这反过来将包含指向您提到的两个页面的链接。

标签: java file url browser


【解决方案1】:
 Desktop.getDesktop().browse()

不支持这个,见Can Java's Desktop.browse provide an HTML Target in order to reuse a browser window?

不过,替代方法是使用Process,如

Process oProc = Runtime.getRuntime().exec( currentLine );

然后利用这个过程发送更多的命令到。

或者使用库/API,例如Browserlaunch

但是,Chrome 的问题在于 Chrome 喜欢在新屏幕中打开新标签。如果您在 Chrome 上点击 ctrl + N(许多浏览器上的新标签页),它将打开一个新屏幕

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    • 2014-12-06
    • 2018-10-30
    • 1970-01-01
    • 2014-12-12
    • 2019-10-12
    相关资源
    最近更新 更多