GWT

2010-05-03 12 views
21

में उपयोगकर्ता एजेंट के बारे में कैसे पता लगाएं मैं ब्राउज़र विशिष्ट कोड लिखने की कोशिश कर रहा हूं। क्लाइंट का कौन सा ब्राउज़र उपयोग कर रहा है यह जानने के लिए कोई GWT API है?GWT

उत्तर

25

Cross-Browser Support पर जीडब्ल्यूटी डेवलपर का गाइड पेज एक जेएसएनआई फ़ंक्शन देता है जो UserAgent स्ट्रिंग देता है।

नोट, हालांकि, आप संभवतः UserAgent का पता लगाने के बजाय ब्राउज़र-विशिष्ट कोड लिखने के लिए Deferred Binding का उपयोग करना चाहते हैं।

संपादित करें: कस्तूरी बताते Window.Navigator.getUserAgent() है, जो इतनी तरह कार्यान्वित किया जाता है:

/** 
* Gets the navigator.appName. 
* 
* @return the window's navigator.appName. 
*/ 
public static native String getAppName() /*-{ 
    return $wnd.navigator.appName; 
}-*/; 

तो हाँ, इस समारोह क्रॉस ब्राउज़र समर्थन पृष्ठ पर उल्लिखित क्या करता है क्या करना चाहिए (सिवाय ऐसा नहीं है कि ' tLowerCase() पर कॉल करें), फिर भी आप स्थगित बाध्यकारी का उपयोग कर बेहतर हो सकते हैं।

+2

बस पता चला कि Navigator.getUserAgent() का पता लगाने के लिए उपयोग किया जा सकता है। क्या यह एक अच्छा विचार होगा? – Kasturi

+4

डिफरर्ड बाध्यकारी आम तौर पर एक बेहतर विकल्प है क्योंकि जीडब्ल्यूटी उस ब्राउज़र पर ब्राउज़र विशिष्ट कोड भेजता है (यानी, केवल आईई के लिए कोड केवल आईई ब्राउज़र पर भेजा जाएगा) इस प्रकार डाउनलोड आकार को कम करता है। हालांकि, यह आपको उपयोगकर्ता एजेंट स्ट्रिंग्स तक सीमित करता है जो जीडब्ल्यूटी पहचानता है। उदाहरण के लिए, यदि आप IE6.0.1.001 उपयोगकर्ताओं को एक संदेश प्रदर्शित करना चाहते हैं, न कि अन्य आईई उपयोगकर्ताओं के लिए, तो आप Navigator.getUserAgent का उपयोग कर बेहतर हैं। यदि आप जानना चाहते हैं कि व्यापक उपयोगकर्ता एजेंट श्रेणियां जीडब्ल्यूटी का समर्थन करती हैं, तो मैंने लिखा यह ब्लॉग पोस्ट देखें: http://www.mooreds.com/wordpress/archives/000574 – mooreds