【问题标题】:Disable double tap zoom on Windows Phone在 Windows Phone 上禁用双击缩放
【发布时间】:2013-03-08 18:15:28
【问题描述】:

我一直在使用 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 是否有我遗漏的其他事件或者我的代码中是否存在错误?

【问题讨论】:

  • 有趣的问题。期待看到这里有才华的人提出的答案/评论

标签: javascript html touch windows-phone


【解决方案1】:

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

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

【讨论】:

  • 我已将指针侦听器添加到我的脚本中,但这并没有解决问题。
  • 嗯,您也可以尝试添加“e.stopImmediatePropagation();”并在事件处理程序结束时返回 false。
【解决方案2】:

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

【讨论】:

  • 我试过了,但问题仍然存在。我认为问题在于测试中使用的 Windows Phone 有 IE9。
【解决方案3】:

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

这可以在 C# 中禁用(此外,您可能可以检测右/左与上/下滚动手势并单独抑制它们)

请参阅此博客条目以获取完整说明: 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?

【讨论】:

    【解决方案4】:

    我看到一个错误

    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"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-12
      • 1970-01-01
      • 2020-05-01
      • 2012-02-19
      • 1970-01-01
      • 2018-02-20
      • 1970-01-01
      相关资源
      最近更新 更多