如何防止用户放大桌面Web应用程序?

时间:2012-07-06 14:24:55

标签: google-chrome web-applications safari webkit gesture

我正在尝试使用HTML 5技术来创建在桌面上的Chrome浏览器中运行的应用程序。我的挑战之一是似乎无法做到相同的:

<meta name="viewport" content="width=device-height, user-scalable=no, maximum-scale=1, minimum-scale=1" />
桌面上的

。我发现了一个针对铬的问题,但它似乎被忽略了。

要了解问题,请访问Chrome中的maps.google.com或Mac上的Safari,然后执行缩放缩放手势。而不是像用户期望的那样放大地图,浏览器只会造成巨大的无法使用的混乱。

鉴于谷歌地图和Chrome是由同一家公司开发的,这感觉就像一个相当无望的原因。但这似乎是整个“Web应用程序”概念中一个非常基本的缺陷。如果浏览器甚至不允许您控制某些基本内容,例如让您的虚拟视口与窗口大小相同,则无法创建本机体验。

我错过了什么吗?

3 个答案:

答案 0 :(得分:2)

我面临同样的问题。我最近发现了这个:

document.addEventListener('touchmove', function(event){
    if(event.touches.length >=2) {
        event.stopPropagation(); 
        event.preventDefault(); 
    }
});

但如果用户的行为非常快,它仍然有效。这在一个自助服务终端设置中非常烦人,用户在事故中进行捏缩放并且不知道发生了什么,因此自助服务终端刚好被打破。 如果我找到解决方案,我会继续发帖

答案 1 :(得分:1)

目前没有禁止用户放大网络视图的“标准”。视口的元标记正好是一个元标记。 w3定义了元数据:

“元数据内容是用于设置其余内容的呈现或行为的内容,或用于设置文档与其他文档的关系,或传达其他”带外“信息的内容。”

定义元标记如下:

“meta元素表示无法使用标题,基本,链接,样式和脚本元素表示的各种元数据。”

元标记本质上是非规范性的,标准并没有真正规定它能做什么或不能做什么,因为它取决于浏览器(或网络平台)来决定它消耗的元信息,最终,忽略。视口元标记是专为移动平台创建的webkit元标记。

据我所知,研究表明,对于阻止用户查看的webkit(或Chrome),目前还没有这样的等效标记 - &gt;缩放,按ctrl(或命令)+/-,或在笔记本电脑轨道板上进行捏合手势并相应地进行缩放。

答案 2 :(得分:-7)

简单,使用小程序来防止缩放,java rulez。