Javascript移动重定向问题

时间:2013-04-19 06:41:27

标签: javascript redirect mobile

嗨,这已经开始了几天了,我想重定向到移动网站,以便从屏幕宽度低于699的设备检查网站。我使用此脚本进行重定向:< / p>

<script type="text/javascript">
<!--
if (screen.width <= 699) {
window.location = "http://www.mywebsite.com.au/mobile/";
}
//-->
</script>

当我通过Firefox检查网站但没有在Dolphin浏览器中工作时,脚本工作正常..

它可能只是我的手机我有一个Galaxy S2。

提前感谢任何可以帮助我的人,我真的很感激!

新的更新:-----确定这变得非常有趣。当我将屏幕宽度减小到599时,脚本在Dolpin浏览器中工作。(screen.width&lt; = 599)---

3 个答案:

答案 0 :(得分:7)

我建议使用用户代理检测

var isMobile = function() {
   //console.log("Navigator: " + navigator.userAgent);
   return /(iphone|ipod|ipad|android|blackberry|windows ce|palm|symbian)/i.test(navigator.userAgent);
 };

像这样重定向

if(isMobile()) {
       window.location.href = "http://www.mywebsite.com.au/mobile/";
}

答案 1 :(得分:0)

window.location是一个对象,所以你可以尝试以下方法:

window.location.replace("http://www.mywebsite.com.au/mobile/");

请参阅window.location.replace

答案 2 :(得分:0)

我的手机(MEIZU MX2)工作正常。 我不知道Dolphin浏览器的版本。 您可以测试'screen.width'和'document.body.clientWidth'

我建议你这样写:

<script>     
    var userAgent = navigator.userAgent.toLowerCase();
    checkOS = function (r) {
        return r.test(userAgent);
    };
    var PlatformOS = {
        isWindows: checkOS(/windows nt|win32/),
        isMac: checkOS(/macintosh|mac os x/),
        isAndroidPad: checkOS(/nexus 7|xoom /),
        isAndroid: checkOS(/android/),
        isIphone: checkOS(/iphone/),
        isIpad: checkOS(/ipad/),
        isWindowsPhone: checkOS(/windows phone/),
        OS: "",
    }
    if (PlatformOS.isIpad || PlatformOS.isWindows || PlatformOS.isAndroidPad) {
        location.href = "http://www.mywebsite.com.au/pc/";
    }
    else if (PlatformOS.isIphone||PlatformOS.isWindowsPhone) {
        location.href = "http://www.mywebsite.com.au/mobile/";
    }

    window.onload = function () {            
        var currWidth = document.body.clientWidth;
        if (currWidth >= 699)
            location.href = "http://www.mywebsite.com.au/pc/";
        else
            location.href = "http://www.mywebsite.com.au/mobile/";
    }
</script>