我想从我在Dart中编写的一个小命令行应用程序中打开一个给定的URL。有什么简单的方法吗? 这类似于Java中的Desktop#browse(URI)。
答案 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上测试过)