我一直在使用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是否有任何我缺少的其他事件或我的代码中是否有错误?
答案 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"