解决safari无法禁止缩放问题

meta标签上禁止缩放可以禁止绝大部分浏览器。

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

自从safari出了手势事件的时候,上面就没办法解决所有的问题。
以下的方案,可以完美解决,既阻止了双击缩放,也阻止了手势缩放

window.onload = function() {
    // 阻止双击放大
    var lastTouchEnd = 0;
    document.addEventListener('touchstart', function(event) {
        if (event.touches.length > 1) {
            event.preventDefault();
        }
    });
    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();
    });
}

你可能感兴趣的:(javascript,移动端技巧)