通常,我们会通过meta标签来实现禁止页面缩放的效果
<meta id="meta-viewport" name="viewport"
content="width=device-width,initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover">
但在实际开发过程中,发现部分safari浏览器下,仍可以进行缩放,即meta设置在 Safari 内无效了 一下代码都在vue的index.html中进行配置
解决方案
iOS 里有一组双指手势操作的事件:gesturestart、gesturechange、gestureend 在上面的 js 方法里加入下面的事件监听:
<script>
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();
});
}
</script>
|