当宽度太小时,重定向到移动页面

时间:2012-11-02 18:09:49

标签: javascript html redirect

由于我的网站在小屏幕上看起来不太好,我想创建一个JS功能,当屏幕宽度小于或等于800px时,会将我重定向到页面的移动版本。

以下是代码:

if (screen.width <= 800) {
  document.location ="index_mobile.html";
};

如果代码有效,那么当我将浏览器窗口缩小到800px宽时,index_mobile.html应该会显示出来。但它现在还没有出现。有谁知道发生了什么事?

http://jsfiddle.net/RZMmV/

2 个答案:

答案 0 :(得分:2)

移动浏览器不会报告或使用真实的设备分辨率,因为这会使互联网上的所有网站基本上无法使用。

他们所做的是创建一个“虚拟屏幕”,其分辨率更接近台式机的分辨率,然后在页面上实现缩放。

如果您想了解真正的设备分辨率,则需要在设备上禁用自动缩放功能。例如,对于iOS和Android设备,可以添加

<meta name="viewport"
      content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/>

到您网页的<head>部分。这会通知浏览器该页面是为处理低分辨率设备而设计的,并禁用了虚拟屏幕层。

答案 1 :(得分:0)

screen.width将返回显示器的宽度,而不是窗口,因此您不能只缩小浏览器窗口以获得不同的值。为此,您需要使用window.outerWidth或其他内容。