在Windows Phone上禁用双击缩放

时间:2013-03-08 18:15:29

标签: javascript html touch windows-phone

我一直在使用HTML和JavaScript开发基于浏览器的点击游戏。我设法抑制了默认行为,导致移动浏览器在iOS和Android中缩放,滚动和执行各种其他技巧。

然而,对于Windows Phone而言,双击仍然会导致它尝试放大。在测试中它会放大然后恢复到正常大小但这足以阻止游戏元素,其点击速度与你可以。

我在HTML中有以下内容:

<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1, user-scalable=0">

我在JavaScript中也有以下内容:

window.addEventListener('touchstart', function(e) {
    clickarea.trigger('click'); // this is what tracks the number of clicks / touches
    e.preventDefault();
}, false);

window.addEventListener('touchmove', function(e) {
    e.preventDefault();
}, false);

window.addEventListener('touchend', function(e) {
    e.preventDefault();
}, false);

Windows Phone是否有任何我缺少的其他事件或我的代码中是否有错误?

4 个答案:

答案 0 :(得分:0)

Windows手机使用Microsoft专有的触摸事件而不是标准触摸事件,您需要添加条件代码来监听它们。

adapting-your-webkit-optimized-site-for-internet-explorer-10

答案 1 :(得分:0)

您可以使用鼠标按下或MSPointer事件更改触摸开始事件,如以下链接中所述: http://blogs.windows.com/windows_phone/b/wpdev/archive/2012/11/15/adapting-your-webkit-optimized-site-for-internet-explorer-10.aspx#step4

答案 2 :(得分:0)

Windows Phone中的webbbrowser控件仍允许缩放和滚动,因为这是在实际浏览器组件“上方”的控件上完成的。

这可以在C#中禁用(另外你可以检测右/左vs上/下滚动手势并单独抑制它们)

有关完整说明,请参阅此博客条目: http://www.scottlogic.co.uk/blog/colin/2011/11/suppressing-zoom-and-scroll-interactions-in-the-windows-phone-7-browser-control/

彼得

从以下位置复制的答案: phone:WebBrowser disable pan/zoom wp7?

答案 3 :(得分:0)

我看到了一个错误     

meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1, user-scalable=0"

最后一个用户可扩展的值是错误的。下一个字符串应该工作     

meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1"