我已经更新我的iPhone 6加至10的iOS beta版本,只是发现,在移动Safari浏览器,您可以通过双击放大任何网页或捏忽略了user-scalable=no在meta标签代码.我不知道这是一个错误或功能.如果它被视为一项功能,我们如何禁用视口缩放iOS 10 Safari?
在iOS 11/12发布,iOS 11和iOS 12 safari上更新仍然不尊重user-scalable=no元标记.
我正在设计一个主要关注数据输入的网站.在我的一个表单中,我有一些按钮可以快速递增和递减表单字段中的数字值.我在用
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
Run Code Online (Sandbox Code Playgroud)
禁用似乎使用适用于IOS的Firefox应用程序工作的缩放.但是,当另一个用户使用Safari对其进行测试时,单击该按钮的速度过快会导致页面放大,从而分散用户的注意力并使其无法快速增加值.从IOS 10开始,Apple出于可访问性原因删除了user-scalable = no,这就是为什么它只适用于像Firefox这样的第三方浏览器.我发现最接近禁用双击缩放的是这个
var lastTouchEnd = 0;
document.addEventListener('touchend', function (event) {
var now = (new Date()).getTime();
if (now - lastTouchEnd <= 300) {
event.preventDefault();
}
lastTouchEnd = now;
}, false);
Run Code Online (Sandbox Code Playgroud)
从/sf/answers/2700123891/ 然而,该禁用快速点击完全,这虽然防止双敲击缩放,还可以防止快速输入值的用户.有没有办法允许快速按下按钮,同时还禁用双击缩放?
虽然滚动在移动Safari浏览器,第一touchstart,touchmove和touchend事件被解雇但是,如果你还在滚动额外的触摸事件不会被触发.
对于我的应用程序,这是有问题的,因为用户可以用他们的手指停止滚动,我无法判断是否有手指向下.当手指下来,你不能设置scrollTop的window或者说你可以设置它,它改变,但窗口不滚动.当用户再次移动他们的手指时,它开始滚动而不是从我设置的位置滚动scrollTop但是他们的手指是否被放下.
请不要评论我为什么要更改scrollTop窗口; 让我们接受这是一个优先要求.有关如何检测是否有手指向下的任何想法?