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

Launching a web browser from command-line Dart script

我想从我用 Dart 编写的小型命令行应用程序打开给定的 URL。有什么简单的方法吗? 这类似于 Java.

中的 Desktop#browse(URI)

您需要使用 Process.run()Process.start() 启动它,并且您必须自己处理 OS 差异。

开启
- 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/

试试这个代码:

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...");
  }

在 Windows 上调用 默认 浏览器:

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

(仅在 Windows 7 上测试过,但恐怕)