2013-04-25 9 views
5

मेरे एंड्रॉइड फोन जैसे कई मोबाइल डिवाइसों में 'अनुरोध डेस्कटॉप साइट' विकल्प है। मैं मोबाइल वेबसाइट बनाने की प्रक्रिया में हूं और उस मूल फीचर को काम करना चाहता हूं।मोबाइल उपकरणों पर डेस्कटॉप साइट विकल्प का अनुरोध करें

डेवलपर्स के रूप में हमारे अंत में क्या उम्मीद है? क्या उदाहरण के लिए कोई GET अनुरोध है: leave_mobile = 1 या क्या यह डिवाइस स्वयं को एक और डेस्कटॉप सोचने के लिए एप्लिकेशन को चालित करने के लिए उपयोगकर्ता-एजेंट को बदल रहा है?

+2

अधिकतर डिवाइस उपयोगकर्ता एजेंट –

उत्तर

6

मैंने अपने एंड्रॉइड उपकरणों पर कुछ परीक्षण किए हैं और उपयोगकर्ता एजेंटों को पढ़ा है और ऐसा लगता है जैसे यह बदलता है। तो मैंने इस मूल विकल्प का काम करने के लिए क्या किया था प्रारंभिक उपयोगकर्ता एजेंट को सत्र में कैप्चर करना था और प्रत्येक पृष्ठ अनुरोध पर इसे भेजा जा रहा था। यदि उपयोगकर्ता एजेंट समान नहीं है, तो यह सत्यापित करें कि यह मोबाइल डिवाइस है और यदि सही उपयोगकर्ता सत्र को उपयोगकर्ता के साथ ओवरराइट करें। यदि नया सत्यापन विफल रहता है, तो शायद यह डेस्कटॉप संस्करण खोजना चाहता है, इसलिए एक नया हेडर रीडायरेक्ट भेजें।

$DesktopSite = 'www.example.com'; 
$UserAgent = $_SERVER['HTTP_USER_AGENT']; 

if (!isset($_SESSION['use_mobile'])){ 
    $_SESSION['use_mobile'] = 1; 
    $_SESSION['user_agent'] = $UserAgent; 
} else if ($_SESSION['user_agent'] != $UserAgent){ // Check if user-agent has changed 
    if(!preg_match(/*preg match from http://detectmobilebrowsers.com/ */){ 
     $_SESSION['use_mobile'] = 0; 
     $_SESSION['user_agent'] = $UserAgent; // Overwrite old user-agent with new one. 
     header("location: $DesktopSite"); // Send visitor to desktop website. 
    } else { 
     // Visitor still seems to be mobile. 
     $_SESSION['use_mobile'] = 1; 
     $_SESSION['user_agent'] = $UserAgent; // Overwrite old user-agent with new one. 
    } 
} 

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

पूरी तरह से काम करता है। उम्मीद है कि यह भविष्य में किसी की भी मदद कर सकता है।

+0

बदल देगा कुछ अतिरिक्त जानकारी: https://productforums.google.com/forum/#!topic/chrome/tz24aCo6F3I – Keale

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