2012-12-12 30 views
8

Với một ứng dụng phía khách hàng địa phương, vớiTải trình duyệt mặc định của hệ điều hành hiện tại và mở một trang web với nó?

import 'dart:io'; 

tôi thấy không có cách nào để tải lên người tiêu dùng trình duyệt mặc định hiện tại và sau đó tải một trang web. (HTML được lưu trữ cục bộ hoặc một trang web)

Tôi đã tìm kiếm tài liệu API tại http://api.dartlang.org nhưng chưa tìm thấy cách nào dễ dàng.

Có cách nào để thực hiện việc này chưa? Tốt nhất là tương tự như Desktop class in java?

Trả lời

5

Tôi không nghĩ rằng có chức năng cho điều đó. Bạn có thể điền vào số new feature request.

Nếu bạn cần giải pháp, bạn có thể giải quyết các lớp học ProcessPlatform.

  • trên Windows, bạn sẽ có thể launch the default browser với start ${url}.
  • trên linux, bạn có thể do that với xdg-open ${url} nếu có xdg-open.
  • trong các trường hợp khác, cần có một giải pháp ...

Đây là một mẫu:

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]); 
    } 
} 
+0

Cảm ơn bạn đã lấy mẫu, rất hữu ích. – Mourner63

+0

Tôi đồng ý, sẽ rất tuyệt nếu bạn gửi yêu cầu tính năng trên dartbug.com. Nếu bạn làm, hãy thêm một liên kết ở đây. –

+0

Đã tạo sự cố, không quá chắc chắn về định dạng, nhưng tôi chắc rằng các Dartisans thông minh sẽ hiểu bất kể. Vấn đề tại http://dartbug.com/7402 – Mourner63

0

Trên Windows tôi thấy lá cờ runInShell cần phải được thiết lập:

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

(ít nhất là trên Windows 7).

Tôi rất ngạc nhiên khi ai đó chưa tạo gói để gọi trình duyệt mặc định trên tất cả các nền tảng một cách đáng tin cậy.

Các vấn đề liên quan