html 禁止缩放 ios10,完美解决ios10及以上Safari无法禁止缩放的问题

移动端web缩放有两种:

1.双击缩放;

2.双指手势缩放。

在iOS 10以前,iOS和Android都可以通过一行meta标签来禁止页面缩放

但iOS 10开始,meta设置在Safari内无效了。

后来在网上看到一个解决方案:

window.οnlοad=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)

}

复制代码

经过测试,这种方法只能禁止双击缩放。

94fe189056cff7204d5e6010e99c0445.png

只好继续找解决方案了。

原来在iOS里有一组双指手势操作的事件:gesturestart、gesturechange、gestureend

在上面的js方法里加入下面的事件监听:

document.addEventListener('gesturestart', function (event) {

event.preventDefault();

});

复制代码

既不能双击缩放,也不能双指缩放。

完整代码:

window.οnlοad=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);

document.addEventListener('gesturestart', function (event) {

event.preventDefault();

});

}

复制代码

这样就OK了,安排!

ce613a7762287a5fd3dca9a0afd8083c.png

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值