2012-07-28 15 views
70

आईओएस Google क्रोम के लिए, जब कोई उपयोगकर्ता "डेस्कटॉप साइट का अनुरोध करें" बटन हिट करता है तो ब्राउजर डेस्कटॉप साइट लाने की कोशिश करने के लिए क्या करता है? मैं उस अनुरोध पर कुछ प्रकार के शीर्षलेख की कल्पना करता हूं जो साइट ढूंढ रहे हैं, या कुछ समान है?क्रोम का "अनुरोध डेस्कटॉप साइट" विकल्प कैसे काम करता है?

उत्तर

49

मुझे लगता है कि अनुरोध में केवल User-Agent: शीर्षलेख है। ,

Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19 

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.45 Safari/535.19 

सूचना शब्द "मोबाइल 'पहले एक में, और भी एंड्रॉयड प्रणाली और उपकरण का उल्लेख इन जाँच हो रही है:।

यहाँ मेरी Android डिवाइस पर Chrome द्वारा भेजे गए उपयोगकर्ता-एजेंट हेडर हैं मुझे लगता है कि यह क्रोम के डेस्कटॉप लिनक्स संस्करण द्वारा भेजे गए मान को बारीकी से मेल करने के लिए झूठी सूचना - अर्थात् एक्स 11 और x86_64 भी प्रदान करता है।

+11

एक अलग हैडर शानदार होगा। उपयोगकर्ता एजेंट स्नीफिंग इतना भयानक है। –

+9

मैं सहमत हूं। कभी-कभी स्वचालित साइट्स और कुछ साइटों द्वारा लागू रीडायरेक्ट बेहद प्रतिकूल और उत्तेजित होता है। – dsh

+2

डिवाइस का आकार, इंटरफेस और क्षमताओं का पता लगाने के लिए एक बेहतर समाधान होगा। सीएसएस मीडिया प्रश्न सही दिशा में एक कदम हैं। – Brad

12

एक और मामूली अंतर यह है कि अनुरोध अंतिम जानबूझकर दर्ज यूआरएल में हुआ है किसी भी पुन: निर्देशकों ने इसे स्थानांतरित करने से पहले। उदाहरण के लिए:

दिया गया: somesite.com एजेंट को स्नीफ करता है, एंड्रॉइड देखता है, और एक दस्तावेज़ करता है। स्थान + = "/ एम";

तब: आप "अनुरोध डेस्कटॉप साइट" यह उपयोगकर्ता-एजेंट को बदलने और somesite.com से फिर से अनुरोध करेगा अगर: ब्राउज़र somesite.com/m

का URL लेकिन होगा

जब तक: आप पहली जगह somesite.com/m के मोबाइल यूआरएल पर सीधे गए थे, इस मामले में यह somesite.com/m को फिर से लोड करता है।

मुझे उम्मीद है कि यह HTTP 301 और 302 रीडायरेक्ट के साथ काम करता है, मुझे पता है कि यह दस्तावेज़। स्थान परिवर्तन (कम से कम वर्णित) के साथ काम करता है, और अनुमान लगाएगा कि यह < मेटा > रीफ्रेश के साथ काम करता है।

+0

क्या आपने अपना उत्तर [इस] (https://productforums.google.com/forum/#!topic/chrome/tz24aCo6F3I) से आधार दिया था? – Keale

7

बस यह इंगित करना चाहता था कि क्रोम न केवल User-Agent को बदलता है बल्कि यदि आप "डेस्कटॉप साइट का अनुरोध करें" तो मूल व्यूपोर्ट मेटा टैग को भी अनदेखा करते हैं। इस प्रकार User-Agent को अब स्नीफ करना आवश्यक नहीं होगा और आप व्यूपोर्ट परिवर्तन पर भरोसा कर सकते हैं क्योंकि अधिकांश उत्तरदायी साइटें स्वचालित रूप से होती हैं। आगे संदर्भ के लिए this Change देखें।

+0

इसके लिए धन्यवाद। जब मेरी क्लिक नहीं की जाती है तो मेरी अपनी बहुत ही सरल वेबसाइट बहुत अलग व्यवहार कर रही है और मुझे समझ में नहीं आया कि क्यों मैं सीएसएस में मीडिया प्रश्नों से ज्यादा कुछ नहीं कर रहा हूं। –

-2

यह JavaScript स्निपेट को प्रभावी ढंग से भी ऐसा ही होगा:

function requestDesktopSite() { 
 
    document.getElementsByTagName('meta')['viewport'].content='min-width: 980px;'; 
 
}
<button onclick="requestDesktopSite()">Request Desktop Site</button>

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