meta 标签禁止缩放失效
之前我们能通过设置meta来禁止用户缩放页面
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" name="viewport" />
但是现在,这个标签在部分浏览器中已经失效。
我在网上查了资料,在ios10+已经失效----
为了提高Safari中网站的辅助功能,即使网站在视口中设置了user-scalable = no,用户也可以手动缩放。
在Android的自带浏览器中(例如华为,魅族,小米)第一次手动缩放时,会提示--再次操作可强制缩放网页---;再次缩放也可以缩放;
这一现象意味着meta标签的失效。在Android的chrome中不可以用户缩放(表现正常)--------------亲测
各浏览器开发商逐渐允许用户去缩放网页;这就导致我们开发的产品,在缩放后会发生惨不忍睹的情况;尤其是flex布局的组件。
为了解决这一问题;我选择采用js事件监听来阻止用户的缩放
window.onload=function () { document.addEventListener('touchstart',function (event) { if(event.touches.length>1){ event.preventDefault(); } }) var lastTouchEnd=0; document.addEventListener('touchend',function (event) { var now=(new Date()).getTime(); if(now-lastTouchEnd<=300){ event.preventDefault(); } lastTouchEnd=now; },false) }