从命令行Dart脚本启动Web浏览器

时间:2015-10-08 22:30:01

标签: dart

我想从我在Dart中编写的一个小命令行应用程序中打开一个给定的URL。有什么简单的方法吗? 这类似于Java中的Desktop#browse(URI)。

3 个答案:

答案 0 :(得分:4)

您需要使用Process.run()Process.start()启动它,您必须自己处理操作系统差异。


- Linux你可以使用Linux: command to open URL in default browser(需要安装,但通常是默认情况下)
- Windows https://superuser.com/questions/36728/can-i-launch-urls-from-command-line-in-windows
- OSX http://osxdaily.com/2011/07/18/open-url-default-web-browser-command-line/

答案 1 :(得分:3)

试试这段代码:

import "dart:io";

void runBrowser(String url) {
  var fail = false;
  switch (Platform.operatingSystem) {
    case "linux":
      Process.run("x-www-browser", [url]);
      break;
    case "macos":
      Process.run("open", [url]);
      break;
    case "windows":
      Process.run("explorer", [url]);
      break;
    default:
      fail = true;
      break;
  }

  if (!fail) {
    print("Start browsing...");
  }

答案 2 :(得分:1)

在Windows上调用默认浏览器:

Process.run("start", [url], runInShell: true);

(虽然我害怕,但仅在Windows 7上测试过)