iOS 捏缩放 - 现在无法使用视口禁用



我多年来一直在使用viewport的元标签,就像苹果在自己的开发者页面上所说的那样,现在我的响应式设计已经实现了。最近,我的iPhone现在可以放大,即使有以下

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

初始页面加载到正确的大小,但用户现在可以放大到更近的位置,并且视口无法工作。我想知道是否有一种方法可以禁用使用jQuery进行缩放?由于我已经在我的页面上使用了一些,所以实现起来很容易。

请注意:即使在davidwalsh.name/demo/mobile-viewport.php等其他网站上,它也可以放大。我想这是12月发布的html5的一部分变化,它不允许在元标签中使用最大比例属性,但我不能确定。到目前为止,我一直在页面上使用noBounce.js,它禁用了iOS的所有反弹和缩放功能,但我不确定是哪个部分控制了缩放来窃取它的那一点,由于其他原因,我不再在大多数应用程序上使用noBounce。

从iOS 10开始,移动Safari浏览器将忽略user-scalable=no,并允许对每个网站进行缩放以提高可访问性。

来自iOS 10的更改日志:

为了提高Safari中网站的可访问性,即使网站在视口中设置了用户可缩放=no,用户现在也可以进行缩放。

看起来我们将不得不开始设计考虑到捏和缩放的网站,至少对于苹果设备来说是这样。

我遇到了iOS10 Pinch to Zoom问题,我可以通过在PortableWebApp(Cordova)的head标签内部进行操作来解决这个问题。

我所做的只是在app.js 的init()中添加这一行

$('head').append('<meta name="viewport" content="user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, width=device-width;" />');

该应用程序现在可以滚动,可以适应不同的屏幕大小/设备,不再需要缩放。注意:请记住,这只适用于混合应用程序,Safari不受此解决方案的影响。

最新更新