1

我有一个客户端站点,只要视口大小在特定参数范围内,它就会切换到移动版本:

if($(window).width() < 800) {
    document.location="http://www.website.com/mobile.html";
}

然而,在各种版本的 IE 中,无论视口宽度如何,脚本总是会触发。我尝试了许多不同的变体,但似乎无法让它发挥作用。

任何帮助表示赞赏。

谢谢,

4

5 回答 5

1

试试喜欢

if($(window).width() < 800) {
    document.location("http://www.website.com/mobile.html");
}

或者你可以使用

if($(window).width() < 800) {
    window.location.href = "http://www.website.com/mobile.html";  
}

并尝试计算宽度

if(document.body.clientWidth < 800){   //Or document.documentElement.clientWidth
     redirect it
}
于 2013-05-09T12:29:03.113 回答
1

使用以下代码:

if($(window).outerWidth() < 800) {
    window.location.href = "http://www.website.com/mobile.html";
}
于 2013-05-09T12:30:37.563 回答
1

screen.width将检查屏幕的实际大小,因此它不会使用调整大小的窗口重定向桌面,并且它不依赖于jQuery.

此外,用于window.location.replace()避免使用重定向页面污染浏览器历史记录。

if(screen.width < 800) {
    window.location.replace("http://www.website.com/mobile.html");
}
于 2013-05-09T12:34:08.307 回答
0

尝试

if($(window).outerWidth() < 800) {
    document.location="http://www.website.com/mobile.html";
}
于 2013-05-09T12:26:49.343 回答
0

解决方案原来是:

if($(document).width() < 800) {
    document.location="http://www.website.com/mobile.html";
}
于 2013-05-09T15:14:39.770 回答