मैं IE11 में उपयोगकर्ता एजेंट स्ट्रिंग को कैसे ब्लॉक कर सकता हूं?


5

हम अपने लैपटॉप को विंडोज 8 टच स्क्रीन में अपग्रेड करना शुरू कर रहे हैं और हम कुछ पुरानी वेबसाइटों (जिनको हम बदल नहीं सकते हैं) को टचस्क्रीन के रूप में मोबाइल डिवाइस के रूप में पहचान सकते हैं और वेबसाइट को सही तरीके से लोड नहीं करेंगे। हम डेस्कटॉप मोड में IE11 का उपयोग कर रहे हैं।

क्या वेब सर्वर पर हम उपयोगकर्ता जो कर रहे हैं उसे बदलने का एक तरीका है?


1
यह प्रासंगिक हो सकता है, हालांकि यह IE8 के लिए है।
डॉकटोरो रीचर्ड

2
IE11 के कौन से संस्करण का उपयोग कर रहे हैं? Modern UIपूर्ण टच स्क्रीन संस्करण या पूर्ण डेस्कटॉप संस्करण? आपके विकल्प आपके उत्तर पर निर्भर करते हैं।
रामहुंड

डेस्कटॉप संस्करण
टायलर

1
@ टायलर - इसका मतलब है कि आप उपयोगकर्ता एजेंट को बदलने के लिए IE एक्सटेंशन का उपयोग कर सकते हैं। आप compatability viewसुविधा को आज़माना भी चाह सकते हैं। अंत में आपको एक अलग ब्राउज़र का उपयोग करना पड़ सकता है यदि उपयोगकर्ता एजेंट को बदलने के लिए एक्सटेंशन का उपयोग नहीं किया जा सकता है और वेबसाइट को बदला नहीं जा सकता है।
रामहाउंड

समस्या यह है कि वेबसाइट केवल IE के साथ काम करती है। और अब जब यह नया IE बदल रहा है, तो मुझे लगता है कि हमें वास्तव में समस्या हो सकती है। धन्यवाद।
टायलर

जवाबों:


4

के साथ समस्या यह UAPick से Bayden सिस्टम और भी IE11s अपने "विकास उपकरण" के साथ का उपयोग कर की विधि F12, Ctrl+ 8, User Agent String, कि इन सेटिंग IE11 की पुन: प्रारंभ करने जीवित नहीं है है।

मैंने पहले ही प्रदान किए गए लिंक @harrymc से रजिस्ट्री में मूल्यों को बदलने के साथ कुछ परीक्षण किया।

पहले HKEY_LOCAL_MACHINEएक बदल रहा है, लेकिन यहाँ नहीं लिया।
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent

हालांकि HKEY_CURRENT_USERकाम बदल रहा है । (लेकिन उपयोगकर्ता विशिष्ट है)
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent

परिवर्तनों के बिना पहला परिणाम: ( myip.nl से परिणाम )
यह IE11 v11.0.9600.16384 के साथ विंडोज 8.1 64 बिट के लिए है।

User agent: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko 
Browser: Unknow browser. 

मैंने IE9.regनिम्नलिखित के साथ बनाया :

REGEDIT4

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent]
@="Mozilla/5.0"
"Compatible"="compatible"
"Platform"="Windows NT 6.1"
"Version"="MSIE 9.0"

यह आपके "उपयोगकर्ता एजेंट स्ट्रिंग" को पूरी तरह से बदल देता है। इसे निष्पादित करने के बाद मुझे मिला:

User agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko 
Browser: Internet explorer 9.0 

लेकिन यह आपके "प्लेटफ़ॉर्म" को भी बदल देगा। मैं उस एक को छोड़ दूंगा। (आप डिफ़ॉल्ट पर "मोज़िला" भी छोड़ सकते हैं।)

हो सकता है, यदि आपका वेबपेज केवल खोजे, तो MSIEयह केवल Version-information को बदलने के लिए पर्याप्त है । Platformऔर "मोज़िला" अछूता रह सकता है इसलिए वेबसाइटें अभी भी इसे सही ढंग से पहचान सकती हैं। मैंने Compatible-tag भी जोड़ा । शायद यह भी प्रयोग किया जाता है।

REGEDIT4

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent]
"Compatible"="compatible"
"Version"="MSIE 9.0"

इसका परिणाम यह होगा:

User agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko 
Browser: Internet explorer 9.0 

IE9 के लिए विकास उपकरण ( F12, Ctrl+ 8, User Agent String) द्वारा दी गई स्ट्रिंग है:
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)

यह मूल के सबसे करीब लगता है और इसे IE9 संगत के रूप में पहचानने की क्षमता जोड़ता है।

मुझे नहीं पता कि आपके "उपयोगकर्ता एजेंट स्ट्रिंग" में आपकी वेबसाइट को एक मोबाइल दृश्य (आप अपना यूए निर्दिष्ट नहीं करते) देने के लिए ट्रिगर करते हैं, लेकिन इन मूल्यों के साथ खेलना इसे ठीक करना चाहिए और ये सेटिंग्स IE11 के पुनरारंभ होने से बच जाती हैं और पीसी।


संपादित करें :
तो समस्या Touchमें है:
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/7.0; Touch; LCJB; rv:11.0)

IE आपको स्वयं को जोड़ने वाले भागों को बदलने (या हटाने) की संभावना नहीं देता है। हम संगत, प्लेटफ़ॉर्म, संस्करण बदल सकते हैं और प्री और पोस्ट प्लेटफ़ॉर्म टोकन जोड़ सकते हैं। (हालांकि संस्करण IE11 में अब और प्री और पोस्ट प्लेटफार्म हेडर में नहीं भेजा जाएगा।)

आप संगतता मोड सेट करने का प्रयास कर सकते हैं यह देखने के लिए कि यह Touchअभी भी है। (क्या आपने पहले ही कोशिश की थी?) अगर वह काम करता है तो आप परेशान साइटों को सूची में जोड़ सकते हैं ताकि वे हमेशा संगतता मोड में प्रदर्शित हों।

यदि IE Touchआपको एक विस्तारित प्लेटफ़ॉर्म-कुंजी के साथ UA को प्रबंधित करने का प्रयास करने के लिए आग्रह करता रहता है ।

REGEDIT4

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent]
@="Mozilla/5.0"
"Platform"="Windows NT 6.1; Trident/7.0; rv:11.0) // ("

इस तरह से आपका यूए होगा
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/7.0; rv:11.0) // (; Trident/7.0; Touch; LCJB; rv:11.0)
और उम्मीद है कि साइट को Touchपहले (और बीच में खोजने में अधिक परेशानी होगी )

अगर वह काम नहीं करता है तो एकमात्र विकल्प एक ऐड-ऑन होगा जो यूए को ओवरराइड करेगा (जैसे यूएपिक लेकिन एक जो पुनरारंभ होने के बाद स्थायी होगा)।


# 2 संपादित करें :

एक और विकल्प मिला। यदि साइट पूरे यूए को स्कैन करती है तो यह मिल जाएगीTouch । निम्नलिखित के साथ आप एक linefeed साथ UA की प्लेटफार्म-भाग वध तो यह निश्चित रूप से इसे नहीं मिलेगा: (मैं इस समाधान पाया यहाँ )

notouch.vbsनिम्नलिखित के साथ एक बार करें :

Dim oShell
set oShell = CreateObject("WScript.Shell")
oShell.RegWrite "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Platform", "Windows NT 6.1; Trident/7.0; rv:11.0)" & vbLf & "IGNORE: (", "REG_SZ"
Set oShell = Nothing

(नोटिस & vbLf & "IGNORE:-पार्ट)

.Vbs को अंजाम देने के बाद, प्लेटफ़ॉर्म-भाग में एक लाइनफ़ीड होता है और उसके बाद एक IGNORE- लाइन। यह हेडर में इस तरह दिखेगा:

User agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/7.0; rv:11.0)
IGNORE: (Windows NT 6.1; Trident/7.0; Touch; LCJB; rv:11.0)

देखें ... Touchउपयोगकर्ता एजेंट लाइन में अधिक नहीं ;)
(यह एक हैक है, लेकिन हे ... यह काम करता है)


1
आपने यह सत्यापित करने का अच्छा काम किया कि मेरा उत्तर काम करता है।
harrymc

1
@harrymc हाँ, मुझे उनका उल्लेख उसी जगह करना चाहिए था, लेकिन क्योंकि आप सुनिश्चित नहीं थे कि यह उनके मंच पर लागू होता है, मैंने सोचा, चलो इसे देखते हैं।
रिक

1
ठीक है, आपका जवाब पढ़ने के बाद मैं कर रहा हूँ यकीन है कि, तो मेरे उत्तर बदल कहने के लिए यह अपने प्रयोगों द्वारा मान्य है।
harrymc

मोज़िला / 5.0 (संगत; एमएसआईई 9.0; विंडोज एनटी 6.1; त्रिशूल / 7.0; टच; एलसीजेबी; आरवी: 11.0; टच; वह है जो साइटों को मोबाइल मोड में डाल रहा है। कैसे अवरुद्ध करने के लिए पर कोई विचार?
टायलर

1
@ टायलर मैंने अपने उत्तर के अंत में एक संपादन जोड़ा। इसके अलावा ... क्या आपने पहले से संगत मोड की कोशिश की? (आप स्थायी संगतता के लिए सूची में साइटें जोड़ सकते हैं)। अन्यथा मेरे संपादन में वर्णित प्लेटफ़ॉर्म-कुंजी के साथ UA की मैनिंग की कोशिश करें।
रेक

2

क्या आप सुनिश्चित हैं कि यह उपयोगकर्ता-एजेंट स्ट्रिंग है जो समस्या पैदा कर रहा है?

यदि आप निश्चित नहीं हैं, तो आप अपने सभी हेडर के साथ URL अनुरोध को ट्रेस करने और कैप्चर करने के लिए Fiddler2 का उपयोग कर सकते हैं , और आप उस URL अनुरोध में संशोधन के साथ कंपोजर में प्रयोग करके यह भी देख सकते हैं कि यह वेबसाइट को कैसे प्रभावित करता है।

Microsoft आलेख उपयोगकर्ता-एजेंट रजिस्ट्री कुंजियों के अनुभाग में उपयोगकर्ता-एजेंट स्ट्रिंग्स को समझना यह कहता है कि उपयोगकर्ता एजेंट स्ट्रिंग के कुछ भागों को IE11 में रजिस्ट्री कुंजी के माध्यम से निम्नानुसार संशोधित किया जा सकता है:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent

HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
SOFTWARE
  Microsoft
     Windows
        CurrentVersion
           Internet Settings
              5.0
                 User Agent
                    (default) = "Mozilla/4.0"
                    Compatible = "compatible"
                    Platform = "Windows NT 5.1"
                    Version = "MSIE 6.0"
                    Pre Platform
                       Token = Value
                    Post Platform
                       Token = Value

लेख कहता है:

उपयोगकर्ता एजेंट कुंजी का डिफ़ॉल्ट मान उपयोगकर्ता-एजेंट स्ट्रिंग में रिपोर्ट किए गए एप्लिकेशन नाम और एप्लिकेशन संस्करण टोकन को बदल देता है। विदित हो कि पहले सात वर्ण अनुप्रयोग नाम के लिए उपयोग किए जाते हैं, और शेष वर्ण अनुप्रयोग संस्करण टोकन निर्दिष्ट करते हैं।

संगत, प्लेटफ़ॉर्म, और संस्करण मान उपयोगकर्ता-एजेंट स्ट्रिंग में संबंधित टोकन को प्रतिस्थापित करते हैं।

प्री-प्लेटफ़ॉर्म कुंजी या पोस्ट-प्लेटफ़ॉर्म कुंजी के तहत नए स्ट्रिंग मान बनाने के लिए रजिस्ट्री संपादक का उपयोग करके उपयोगकर्ता-एजेंट स्ट्रिंग में अतिरिक्त टोकन जोड़े जा सकते हैं। मान नाम पूर्ण टोकन होना चाहिए; मान डेटा पर ध्यान नहीं दिया जाता है। अंतिम उपयोगकर्ता-एजेंट स्ट्रिंग में प्लेटफ़ॉर्म टोकन से पहले प्री-प्लेटफ़ॉर्म कुंजी में जोड़े गए टोकन दिखाई देते हैं। अंतिम उपयोगकर्ता-एजेंट स्ट्रिंग में प्लेटफ़ॉर्म टोकन के बाद पोस्ट-प्लेटफ़ॉर्म कुंजी में जोड़े गए टोकन। प्री-प्लेटफ़ॉर्म कुंजी या पोस्ट-प्लेटफ़ॉर्म कुंजी के कई टोकन अप्रत्याशित क्रम में प्रदर्शित किए जाते हैं।

@Rik द्वारा कुछ प्रयोग से पता चला है कि उपरोक्त को आपके प्लेटफॉर्म के लिए काम करना चाहिए। आप इन मूल्यों को बदलने के लिए अपने ब्राउज़र को बदलने के लिए प्रयोग कर सकते हैं यह देखने के लिए कि क्या यह उस वेबसाइट के व्यवहार को बदलता है।


हां, IE9 का अनुकरण करने के लिए या IE9 को सेट करने के लिए USPick का उपयोग करने के रूप में IE को फिर से शुरू होने तक समस्या को ठीक करता है। मूल रूप से, यह "स्पर्श" यूए टुकड़ा है जो साइट को "मोबाइल मोड" में परोसा जा रहा है।
टायलर

@ टायलर: IE में फिर से शुरू होने पर भी यह फिक्स काम करता रहता है क्योंकि यह रजिस्ट्री में है।
harrymc

अधिक संभावनाएं: (1) स्थानीय नीति संपादक का उपयोग करके इस पद्धति का प्रयास करें । (२) आप नि: शुल्क यूपिक आज़मा सकते हैं । कैविएट: केवल डेस्कटॉप मोड में काम करता है और इसे अक्षम करने के लिए एन्हांस्ड प्रोटेक्टेड मोड की आवश्यकता होती है।
हरिके।

विधि 2 पहले से ही टिप्पणियों (और मेरे उत्तर) में उल्लिखित है और IE11 के पुनः आरंभ से नहीं बचती है। (यह विकास उपकरण (F12) की तरह ही काम करता है जो पुनः आरंभ करने से भी नहीं बचता है।) विधि 1 दिलचस्प है। आप अपने सामान्य उपयोगकर्ता एजेंट स्ट्रिंग में (अंत में) "MSIE 9.0" जोड़ सकते हैं। यदि साइट केवल MSIEस्ट्रिंग की उपस्थिति के लिए परीक्षण करती है, तो शायद यह आपको सही साइट प्रदान करेगी। यह उन साइटों के साथ परीक्षण करने की आवश्यकता है जिनके लिए यह प्रश्न पूछा गया था।
ऋक

@ रिक: यूपिक के अपने उल्लेख को याद करने पर माफी। स्थानीय नीति संपादक विधि के लिए, मैं पोस्टर से एक शब्द पर प्रतीक्षा कर रहा हूं कि क्या इसे मेरे उत्तर में जोड़ा जाए।
harrymc

1

मुझे लगता है कि आप विंडोज 8.1 का मतलब है।
अगर ऐसा है, तो एमएस ने विंडोज 8.1 में IE11 के लिए उपयोगकर्ता एजेंट स्ट्रिंग को बदल दिया और यह पुरानी वेबसाइटों को पीसी को मोबाइल डिवाइस के रूप में पहचानता है, यहां तक ​​कि मेरे गैर-टचस्क्रीन लैपटॉप के लिए भी। एक समाधान है, वास्तव में कहने के लिए एक समाधान है। क्रोम / एफएफ प्राप्त करें और एक उपयोगकर्ता एजेंट स्विचर एडऑन स्थापित करें। फिर पुरानी वेबसाइटों को लोड करने के लिए कुछ पुराने ब्राउज़र (मेरा पेरोनल अनुशंसा IE8) "FAKE" करें।

यह सबसे अच्छा तरीका नहीं हो सकता है लेकिन मुझे यकीन है कि यह सबसे आसान है।


1
बस मेरे $ 0.02 के जोड़ने के लिए: हाँ, यह बहुत सारी साइटों के साथ काम करता है। लेकिन यह साइट पर निर्भर करता है "मैं केवल IE के साथ काम करता हूं" का दावा करता हूं, जिसका अर्थ है कि "मैं अन्य ब्राउज़रों के साथ भी काम करता हूं, लेकिन मुझे केवल IE के साथ परीक्षण किया जाता है और यदि आप अपना कोई अन्य नाम दिखाते हैं तो मैं सिर्फ काम नहीं करने का दावा करूंगा" ।
हेन्नेस

1
यहाँ ऐसा प्रतीत होता है क्योंकि साइट मोबाइल संस्करण पर पुनर्निर्देशित करती है ... विंडोज 8.1 पर अपडेट होने के बाद से, मैं इस व्यवहार को अच्छी तरह से अनुभव कर रहा हूं और साथ ही साथ वेबसाइटों का व्यवहार भी कर रहा
हूं
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.