获取当前操作系统的默认浏览器&用它打开一个网页?

时间:2012-12-12 17:41:22

标签: dart

使用本地客户端应用程序,

import 'dart:io';

我认为无法加载消费者当前的默认浏览器然后加载网页。 (本地存储的HTML或网站)

我在http://api.dartlang.org搜索了API文档但却找不到简单的方法。

有没有办法做到这一点? 最好类似于Desktop class in java

2 个答案:

答案 0 :(得分:5)

我认为没有这方面的功能。您可以填写new feature request

如果您需要解决方法,可以处理ProcessPlatform类。

  • 在Windows上,您应该launch the default browserstart ${url}
  • 在linux上,如果xdg-open ${url}存在,您可以do that xdg-open
  • 在其他情况下,应该有一个解决方案......

以下是一个示例:

import 'dart:io';

main() {
  final url = "http://dartlang.org";
  if (Platform.operatingSystem == 'windows') {
    Process.run("start", [url]);
  } else if (Platform.operatingSystem == 'linux') {
    Process.run("xdg-open", [url]);
  }
}

答案 1 :(得分:0)

在Windows上,我发现需要设置runInShell标志:

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

(至少在Windows 7上)。

我很惊讶有人没有创建一个程序包来可靠地调用所有平台上的默认浏览器。