2010-12-05 13 views
6

बस सोच रहा है कि वीबीएनईटी का ब्राउज़र किस प्रकार टाइप करता है जब यह किसी वेबपृष्ठ पर जाता है। उदाहरण के लिए मेरी वेबसाइट पर यह मेरी साइट तक पहुंचने वाले सभी अलग-अलग ब्राउज़रों का एक ब्रेक डाउन दिखाता है।WebBrowser नियंत्रण द्वारा क्या UserAgent की सूचना दी गई है?

+0

इस जब आप एक वेब अनुरोध करना है? – Phill

उत्तर

13

आप अपने प्रश्न के लिए अधिक संदर्भ प्रदान नहीं करते हैं, लेकिन मुझे लगता है कि आप User Agent string के बारे में बात कर रहे हैं जो आपको भेजा गया है जब आप WebBrowser control .NET Framework में निर्मित करते हैं।

क्योंकि यह नियंत्रण केवल पृष्ठ को प्रस्तुत करने के लिए इंटरनेट एक्सप्लोरर का उपयोग करता है, तो आप एक उपयोगकर्ता एजेंट स्ट्रिंग को उसी कंप्यूटर पर देख सकते हैं जो आप पाएंगे यदि आप उसी कंप्यूटर पर IE का उपयोग करके पृष्ठ पर जाते हैं। आईई स्ट्रिंग सामान्य रूप से Mozilla/4.0 compatible के रूप में खुद को रिपोर्ट करती है, लेकिन यह एमएसआईई का विशिष्ट संस्करण भी देती है और विंडोज के वर्तमान संस्करण को सूचीबद्ध करती है।

उदाहरण के लिए, .NET फ्रेमवर्क के संस्करण 4.0 के साथ Windows Server 2008 R2 के 64-बिट संस्करण के अंतर्गत चल, मैं पहचान कर रहा हूँ इस प्रकार जब भी मैं WebBrowser नियंत्रण के पृष्ठों के सर्फ:

मोज़िला/4.0 (संगत; MSIE 7.0, Windows NT 6,1)

इसके विपरीत, इंटरनेट एक्सप्लोरर एक ही मशीन को प्रदर्शित करता है पर इस उपयोगकर्ता एजेंट स्ट्रिंग के रूप में:

मोज़िला/4.0 (संगत; एमएसआईई 8.0; Windows NT 6,1)

फर्क सिर्फ इतना किया जा रहा है कि इंटरनेट एक्सप्लोरर संस्करण 7.0 (MSIE 7.0), के बजाय संस्करण 8.0 के रूप में नेट WebBrowser नियंत्रण रिपोर्ट ही है कि मशीन पर स्थापित किया गया है। ऐसा इसलिए है क्योंकि नियंत्रण आईई 8 में से एक की तुलना में आईई 7 रेंडरिंग इंजन का उपयोग करता है, संगतता कारणों से। यदि आप चाहते हैं, तो आप एक रजिस्ट्री मान संपादित करके change this कर सकते हैं।

IE8 मानक मोड में एक WebBrowser नियंत्रण चलाने के लिए, रजिस्ट्री में नया मान निम्नलिखित का उपयोग करें:

[(HKEY_CURRENT_USER या HKEY_LOCAL_MACHINE) \ सॉफ्टवेयर \ Microsoft \ इंटरनेट एक्सप्लोरर \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION] "MyApplication.exe" = DWORD 8000 (हेक्स: 0x1F40)

IE7 मानक मोड में निम्न रजिस्ट्री मूल्य चलाने के लिए, का उपयोग करें:

[(HKEY_CURRENT_USER या HKEY_LOCAL_MACHINE) \ सॉफ्टवेयर \ Microsoft \ इंटरनेट एक्सप्लोरर \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION] "MyApplication.exe" = DWORD 7000 (हेक्स: 0x1B58)

+0

यह शानदार है! मुझे तुरंत मदद की। मैं सोच रहा हूं कि रजिस्ट्री को संपादित करने से ** कोई अन्य तरीका ** है? – wpfwannabe

+0

यह लिंक: ttp: //blog.notfaqs.com/2013/05/net-get-user-agent-string-of-webbrowser.html ने मुझे रनटाइम पर विवरण प्राप्त करने में मदद की। नेविगेटर ऑब्जेक्ट के लिए सार्थक गुण उपयोगकर्ता एजेन्ट, ऐपकोडनाम, ऐपनाम, ऐपवर्जन और प्लेटफार्म लगते थे। – user326608

+0

@wpfwannabe, आप [एक्स-यूए-संगत] (https://msdn.microsoft.com/en-us/library/ms533876%28v=vs.85%29.aspx) का उपयोग कर सकते हैं, जो वेबब्रोसर का उपयोग करके वेबब्रोसर बना देगा पृष्ठ को प्रस्तुत करने के लिए सही दस्तावेज़ मोड।दुर्भाग्यवश उपयोगकर्ता एजेंट स्ट्रिंग को X-UA-compatible द्वारा स्वयं नहीं बदला जाएगा, हमें जावास्क्रिप्ट का उपयोग करके क्लाइंट साइड पर एजेंट स्ट्रिंग को प्रतिस्थापित करने के लिए हैक का उपयोग करना होगा। लेकिन कोई रजिस्ट्री कुंजी परिवर्तन की आवश्यकता नहीं है। –

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