3 回答

TA贡献2037条经验 获得超6个赞
通过不设置标记的最大比例来保持标记的可伸缩性。
<meta name="viewport" content="width=device-width, initial-scale=1">
然后,在加载时禁用javascript的可伸缩性,直到您使用此脚本再次允许可伸缩性时,开始手势启动:
if (navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i)) {
var viewportmeta = document.querySelector('meta[name="viewport"]');
if (viewportmeta) {
viewportmeta.content = 'width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0';
document.body.addEventListener('gesturestart', function () {
viewportmeta.content = 'width=device-width, minimum-scale=0.25, maximum-scale=1.6';
}, false);
}
}
在iPad 1上无法使用,在事件监听器上失败。我发现删除.body修复程序:
document.addEventListener('gesturestart', function() { /* */ });

TA贡献1809条经验 获得超8个赞
我遇到了同样的问题,并且将maximum-scale设置为1.0对我来说很有效。
编辑:如评论中所述,这会禁用用户缩放,除非内容超出宽度分辨率。如上所述,这可能不明智。在某些情况下也可能需要这样做。
视口代码:
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0;">
添加回答
举报