2

嗨,这已经困扰我几天了,我想重定向到移动网站,以便那些从屏幕宽度小于 699 的设备检查网站的人。我正在使用这个脚本进行重定向:

<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 <= 599) ---

4

3 回答 3

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/";
}
于 2013-04-19T07:09:10.443 回答
0

window.location 是一个对象,所以您可以尝试以下操作:

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

window.location.replace

于 2013-04-19T06:53:35.960 回答
0

我的手机(魅族 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>
于 2013-04-19T08:50:41.483 回答