【发布时间】:2013-08-18 18:45:57
【问题描述】:
这是一个奇怪的问题,我只在本地浏览器中的三星 Galaxy Tab 2 和 Galaxy S2 上的本地浏览器上遇到。
这也在其他 android 手机和平板电脑(例如 Nexus 7 和 Galaxy S4)上进行了测试,但它们的原生浏览器是 chrome,所以看起来不错。在任何 IOS 浏览器、Windows 桌面浏览器或 Mac 桌面浏览器上也不存在此问题。
这几乎就像网页在自身之上加载了两次!
由于有一个重复的画布元素,它会像主画布一样更新。
这里看起来好像只有在横向模式下旋转时才会发生,但我相信在纵向模式下,画布在顶部完全对齐。
更奇怪的是,你看到的菜单按钮是一个切换按钮,点击打开菜单,点击关闭菜单。在此设备上,当您点击它时,它会立即打开和关闭。静音按钮切换也是如此。
我完全不知所措。
我已经做了一些 javascript 调试,在这里和那里抛出了一些警报,并且创建对画布等的引用的初始化函数只被调用一次。
我已经阅读并听说过硬件加速会导致问题,但我可能找到的解决方案仅与构建本机应用程序相关!不是 HTML5 Canvas 网页。
对此的任何见解都可能很棒! 提前致谢。
--编辑
我还进行了这个测试alert(document.getElementsByTagName('canvas').length); 以查看 DOM 中是否有 2 个画布,但它返回 1!
【问题讨论】:
-
检查一下三星的用户代理,然后删除第二个。我很困惑这是否可能,因为长度是画布标签的 1。
-
请尝试提供问题的SSCCE,然后我们可以查看源代码并在其他设备上尝试。
-
@Pool 对,既然每个人都没有三星设备,你有什么窍门吗?我上次通过 Webmatrix 在 Win7 中尝试了 IOS 模拟器,但它未能向我显示类似于此问题中发现的问题的错误。
-
这不仅仅是重现问题,将问题减少到一个小测试用例也可能有助于隔离 RoryPicko92 的问题,或者显示一些可能导致一些故障的不常见或不正确的用法。跨度>
-
@Pool 我创建了一个 SSCCE 版本,它没有错误!所以我开始一次添加一些功能,我将其缩小到画布缩放(使用 css)或使用 css left 将其定位在屏幕中心的事实,这里是 SSCCE 版本kokodev.co.uk/canvasbug
标签: javascript android html5-canvas