Mobile 什么';这就是';元视口用户可缩放=否';在谷歌地图API中

Mobile 什么';这就是';元视口用户可缩放=否';在谷歌地图API中,mobile,google-maps-api-3,viewport,meta-tags,Mobile,Google Maps Api 3,Viewport,Meta Tags,我使用的是Google Maps JavaScript API V3,并且始终让您包含以下元标记: 我看到的大多数第三方示例也可以做到这一点。不过,我用它写了一个插件,还有我的一个用户。我没有可测试的移动设备,我的搜索也没有发现任何有用的信息 那么,标签的意义是什么?我应该把它留在里面吗?我是否应该尝试检测浏览器代理并仅在桌面浏览器中显示它 如果您想检查插件,您可以,或者。在许多设备(如iPhone)上,它会阻止用户使用浏览器的缩放功能。如果你有一张地图,并且浏览器进行了缩放,那么用户将看到

我使用的是Google Maps JavaScript API V3,并且始终让您包含以下元标记:


我看到的大多数第三方示例也可以做到这一点。不过,我用它写了一个插件,还有我的一个用户。我没有可测试的移动设备,我的搜索也没有发现任何有用的信息

那么,标签的意义是什么?我应该把它留在里面吗?我是否应该尝试检测浏览器代理并仅在桌面浏览器中显示它

如果您想检查插件,您可以,或者。

在许多设备(如iPhone)上,它会阻止用户使用浏览器的缩放功能。如果你有一张地图,并且浏览器进行了缩放,那么用户将看到一张带有巨大像素标签的大像素图像。其想法是用户应该使用谷歌地图提供的缩放功能。不确定是否与插件有任何交互,但这就是它的用途

最近,正如@ehfeng在他的回答中指出的那样,Android浏览器(或许还有其他浏览器)利用了这样一个事实,即没有本地浏览器在设置了视口标记的页面上缩放。这使他们能够摆脱可怕的300毫秒延迟的触摸事件,浏览器需要等待,看看你的单触是否会变成双触。(想想“单点”和“双击”。)然而,当这个问题最初被问到时(2011年),在任何移动浏览器中都不是这样。它只是增加了最近偶然出现的惊人之处。

禁用用户可伸缩性(即双击缩放的功能)允许浏览器减少点击延迟。在触控启用浏览器中,当用户希望双击进行缩放时,浏览器通常会等待300毫秒,然后触发单击事件,等待查看用户是否将双击。禁用用户可伸缩性允许Chrome浏览器立即触发单击事件,从而获得更好的用户体验

来自谷歌IO 2013会议

更新:这不再是真的,
足以从(开发者指南>概念>移动设备开发)中删除300毫秒延迟:

Android和iOS设备尊重以下标签:


此设置指定地图应全屏显示,并且用户不应调整其大小。请注意,iPhone的Safari浏览器要求在页面的
元素中包含此
标记


如果您的设计没有响应,则不应使用视口元标记。错误使用此标签可能会导致布局损坏。你可以阅读这篇文章,了解为什么你不应该使用这个标签,除非你知道你在做什么。


“user scalable=no”还有助于防止iOS输入框上的放大效果。

我认为它只会禁用iphone、ipad上的放大功能。。狩猎的东西。我的android只是忽略了它(用户可伸缩部分,当然不是视口标签的其余部分)@Juan它不仅仅是iOS/Safari的东西。例如,我敢打赌它是在Android的Chrome中实现的。但是,是的,在很多Android 2.X浏览器中,视口的功能都不起作用。不要这样做。这使得一些网站在Android版Firefox上无法使用(可能还有其他网站)。你不能确定你的页面是否能在所有浏览器上正确显示,如果你取消缩放,一些用户将无法使用你的网站。刚刚超过0.3秒。Yahoo Tech就是一个例子,如果一个网站因为无法缩放而无法在Firefox for Android上阅读。user scalable=no的另一个有趣的副作用是它修复了位置问题:Android 2.X浏览器上的固定菜单(尽管您可以使用-webkit backface visibility:hidden;)另一方面,这不利于残疾用户的可访问性。我相信第508节的指导方针规定用户必须能够放大到200%,顺便说一句,Chrome在控制台中写道“不能识别并忽略关键的”用户可缩放“。如果你使用它,即使使用“是”值-OOPS,只是注意到我在“可缩放”中有一个“e”,好像它可以有“缩放(一条龙):-)