2012-12-12 14 views
8

एक स्थानीय ग्राहक के पक्ष आवेदन के साथ,वर्तमान ऑपरेटिंग सिस्टम के डिफ़ॉल्ट ब्राउज़र को प्राप्त करें और इसके साथ एक वेब पेज खोलें?

import 'dart:io'; 

साथ मैं उपभोक्ताओं को, वर्तमान ब्राउज़र को लोड और फिर लोड करने के लिए एक वेब पेज कोई रास्ता नहीं देखते हैं। (स्थानीय रूप से संग्रहीत एचटीएमएल या वेबसाइट)

मैंने http://api.dartlang.org पर एपीआई दस्तावेज की खोज की है, फिर भी कोई आसान तरीका नहीं मिला है।

क्या ऐसा करने का कोई तरीका है? पसंदीदा रूप से Desktop class in java के समान है?

उत्तर

5

मुझे नहीं लगता कि इसके लिए कोई फ़ंक्शन है। आप new feature request भर सकते हैं।

यदि आपको कामकाज की आवश्यकता है, तो आप Process और Platform कक्षाओं से निपट सकते हैं।

  • विंडोज पर आप start ${url} साथ launch the default browser में सक्षम होना चाहिए।
  • लिनक्स पर, xdg-open मौजूद है तो आप do that कर सकते हैं।
  • अन्य मामलों में, वहाँ एक समाधान होना चाहिए ...

यहाँ एक नमूना है:

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

नमूना के लिए धन्यवाद, बहुत उपयोगी। – Mourner63

+0

मैं मानता हूं, अगर आपने dartbug.com पर फीचर अनुरोध दायर किया तो यह बहुत अच्छा होगा। यदि आप करते हैं, तो यहां एक लिंक जोड़ें। –

+0

समस्या का निर्माण, प्रारूप पर भी निश्चित नहीं था, लेकिन मुझे यकीन है कि बुद्धिमान डार्टिसन इस पर ध्यान दिए बिना समझेंगे। मुद्दा http://dartbug.com/7402 पर है – Mourner63

0

विंडोज़ पर मुझे लगता है runInShell ध्वज सेट करने की आवश्यकता है:

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

(कम से कम विंडोज 7 पर)।

मुझे आश्चर्य है कि किसी ने सभी प्लेटफ़ॉर्म पर डिफ़ॉल्ट ब्राउज़र को विश्वसनीय रूप से आमंत्रित करने के लिए कोई पैकेज नहीं बनाया है।

संबंधित मुद्दे