我正在开发一个 webapp (javascript) 放在 iPad 的主屏幕上,以便能够以全屏模式运行它。一切正常,但随机一段时间后,主页按钮不再起作用。但是该应用程序仍在继续运行,并且根本没有错误。我仍然可以在我的 mac 上使用 safari 在控制台中运行 javascript 函数,警报,提示,所有这些东西都在工作。但不是 window.close(); 要退出应用程序,我必须通过按下关机按钮和主页按钮来重新启动设备。
如果有人可以帮助我弄清楚它是什么,我会很高兴。
我正在开发一个 webapp (javascript) 放在 iPad 的主屏幕上,以便能够以全屏模式运行它。一切正常,但随机一段时间后,主页按钮不再起作用。但是该应用程序仍在继续运行,并且根本没有错误。我仍然可以在我的 mac 上使用 safari 在控制台中运行 javascript 函数,警报,提示,所有这些东西都在工作。但不是 window.close(); 要退出应用程序,我必须通过按下关机按钮和主页按钮来重新启动设备。
如果有人可以帮助我弄清楚它是什么,我会很高兴。
SoundJS团队已将此问题追溯到Web 应用程序进入全屏模式时使用:
<meta name="apple-mobile-web-app-capable" content="yes" />
向苹果报告了一个错误(参考 #15133492)。
目前除了不进入全屏模式外,我们没有其他解决方法。
alert
我遇到了同样的问题,经过一些调试后,我发现它来自confirm
或prompt
原生盒子。
在特定情况下显示其中一个本机框后(并非所有情况都是如此),硬件主页和锁定按钮将不再起作用。
在我的情况下,框在这样的事件confirm()
中被调用:onclick
setTimeout
var btnCallback = function() { setTimeout(function() { callback(/*var answer = confirm('');...*/); }, 1); }
您应该删除对此类对话窗口的调用,并更喜欢使用自制的。
在装有 iOS 6.1.3 的 iPhone 4 上测试。
希望能帮助到你。
编辑
它也可能来自阻塞代码的 javascript 部分(如confirm
显示时的行为或大量代码处理)。
这只是假设。
编辑 2
经过其他测试,问题似乎仍然存在。我所做的只是使用谷歌地图 API v3 并显示来自当前 URL 哈希的 div。
无需重新加载页面,只需 javascript 和窗口位置哈希操作。
我不明白它是从哪里来的。