2010-02-19 19 views
7

के भीतर ब्राउज़र का प्रकार और संस्करण खोजें, मैं उस ब्राउज़र और प्रकार का ब्राउज़र जानना चाहता हूं जो उपयोगकर्ता मेरे फ्लेक्स 4 एप्लिकेशन के भीतर से चल रहा है। मुझे पता है कि मैं जावास्क्रिप्ट को कॉल करने के लिए बाहरी इंटरफेस का उपयोग करके वह जानकारी प्राप्त कर सकता हूं। मुझे पता है कि मैं सर्वर से वह जानकारी प्राप्त कर सकता हूं।फ्लैश

मैं उस जानकारी को सीधे क्रियालेख से प्राप्त करने का एक तरीका ढूंढ रहा हूं। मेरा मतलब है, क्या कोई वैश्विक वैरिएबल या कुछ ऐसा नहीं है जो इस जानकारी को रखता है?

+0

मेरा अनुमान है कि आप नहीं कर सकते हैं, और अधिक मुझे उम्मीद थी कि flash.capabilities में और भी कुछ था लेकिन वहां आप केवल ऑपरेटिंग सिस्टम और प्लेयर के प्रकार को ही ढूंढ सकते हैं। – Les

उत्तर

9

आप तब से नहीं कर सकते जब आपके पास उल्लेख होने पर कोई वैश्विक चर नहीं है।

लेकिन बाहरी इंटरफेस और जावास्क्रिप्ट का उपयोग नहीं करते हैं?

var method:XML = <![CDATA[ 
    function(){ 
     return { appName: navigator.appName, version:navigator.appVersion};} 
    ]]> 

var o:Object = ExternalInterface.call(method); 
trace("app name ",o.appName,"version ", o.version) 

तो आप एक स्थिर पद्धति के रूप में एक कक्षा में डाल दिया है, तो आप के लिए यह एक आंतरिक वर्ग बुला के रूप में के रूप में पारदर्शी होगा ...

package { 
    import flash.external.ExternalInterface; 


    public class BrowserUtils { 

     private static const CHECK_VERSION:XML = <![CDATA[ 
      function() { 
       return { appName: navigator.appName, version:navigator.appVersion }; 
       } 
      ]]>; 

     public static function getVersion():Object { 
      if (!ExternalInterface.available) return null;    

      return ExternalInterface.call(CHECK_VERSION); 
     } 

    } 

} 
+0

@Lars: ExternalInterface.call() फ़ंक्शन को कॉल करने के लिए ब्राउज़र में फ़ंक्शन निष्पादित किया जाता है। @goliatone, विस्तृत उत्तर के लिए धन्यवाद, मैं शायद यह करूँगा। मैं बस सोच रहा था कि क्या पहले से ही एक वैश्विक चर था जिसका उपयोग मैं कर सकता था, लेकिन दस्तावेज़ीकरण में नहीं मिला। – Jaffer

+0

@ लार्स: असल में, बाहरी इंटरफ़ेस आपके द्वारा पारित किसी भी स्ट्रिंग को निष्पादित करने का प्रयास करेगा। मैंने विधि को एक cdata xml टैग में लपेट लिया है, इसलिए मैं अपने संपादक में उस स्ट्रिंग को आरामदायक तरीके से बना सकता हूं। @ जेफर: मैं समझता हूं, यह उस तरह से सबसे सुविधाजनक होगा। – goliatone

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