基于jQuery解决ios10以上版本缩放问题

在ios10之前我们能通过设置meta来禁止用户缩放页面:

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

在ios10系统中meta设置失效了:
为了提高safari中网站的辅助功能,即使网站在视口中设置了user-scalable = no,用户也可以手动缩放。

解决:

监听事件来阻止,代码如下:

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);
  document.addEventListener('gesturestart', function (event) {
    event.preventDefault();
  });
}
posted @ 2020-12-16 08:44  ZerlinM  阅读(136)  评论(0编辑  收藏  举报