由于我的网站在小屏幕上看起来不太好,我想创建一个JS功能,当屏幕宽度小于或等于800px时,会将我重定向到页面的移动版本。
以下是代码:
if (screen.width <= 800) {
document.location ="index_mobile.html";
};
如果代码有效,那么当我将浏览器窗口缩小到800px宽时,index_mobile.html应该会显示出来。但它现在还没有出现。有谁知道发生了什么事?
答案 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
或其他内容。