سؤال

وأنا تطوير النسخة المحمولة من موقع على شبكة الانترنت. أنا حاليا باستخدام هذه جافا سكريبت لكشف وإعادة توجيه المستخدم:

if((navigator.userAgent.match(/iPhone/i)) || 
                (navigator.userAgent.match(/Android/i)) ||
                (navigator.userAgent.match(/iPod/i))) 
        { 
        window.location = "http://sitename.com/m/";
    }

ويعمل بشكل جيد مع اي فون وأجهزة أي بود، ولكن أي نجاح مع الروبوت. أنا باستخدام الروبوت المحاكي داخل الكسوف. أنا لم يكن لديك أداة لاختبار الروبوت فعلا.

وأفعل شيئا خاطئا؟ أي شخص وجود نفس المشكلة؟

هل كانت مفيدة؟

المحلول

ويجب أن تستخدم على على بدلا من <قوية> <قوية />
location.replace window.location
مثال:

if( (navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/Android/i)) || (navigator.userAgent.match(/iPod/i)) ) { 
    location.replace("http://sitename.com/m/");
}

واعتدت هذا الرمز ويعمل على اي فون / آيفون وهواتف أندرويد / الأجهزة.

نصائح أخرى

وهنا هو وظيفة جافا سكريبت منجم للكشف عن جهاز الروبوت:

function isAndroid() {
    var ua = navigator.userAgent;
    return ua.match(/Android/) 
        || ua.match(/Dalvik/)
        || ua.match(/GINGERBREAD/)
        || ua.match(/Linux;.*Mobile Safari/)
        || ua.match(/Linux 1\..*AppleWebKit/)
};

وwindow.location لا يعمل في الروبوت؟ هل حقا؟ يبدو أن تعمل بشكل جيد فقط بالنسبة لي على الروبوت 2.3.4. ما هو إصدار (ق) من الروبوت لم يا رفاق استخدام حيث لا يمكن الحصول على window.location تحميل نجحت في URL جديد في المتصفح؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top