从命令行 Dart 脚本启动 Web 浏览器
Posted
技术标签:
【中文标题】从命令行 Dart 脚本启动 Web 浏览器【英文标题】:Launching a web browser from command-line Dart script 【发布时间】:2015-10-08 22:30:01 【问题描述】:我想从我用 Dart 编写的一个小型命令行应用程序打开一个给定的 URL。有什么简单的方法吗? 这类似于 Java 中的 Desktop#browse(URI)。
【问题讨论】:
应用应该在什么操作系统上运行? 【参考方案1】:试试这个代码:
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...");
【讨论】:
谢谢!根据@günter-zöchbauer 的回复,使用 xdg-open 是 Linux 的最佳选择。【参考方案2】:您需要使用Process.run()
或Process.start()
启动它,并且您必须自己处理操作系统差异。
开启 - Linux 你可以使用Linux: command to open URL in default browser(需要安装但通常是默认的) - 视窗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/
【讨论】:
【参考方案3】:在Windows上调用默认浏览器:
Process.run("start", [url], runInShell: true);
(恐怕只在 Windows 7 上测试过)
【讨论】:
以上是关于从命令行 Dart 脚本启动 Web 浏览器的主要内容,如果未能解决你的问题,请参考以下文章