我正在开发一个webapp(javascript)来放在iPad的主屏幕上,以便能够以全屏模式运行它。 一切正常,但经过一段时间后,主页按钮不再起作用。 但该应用程序仍在继续运行,并且根本没有错误。 我仍然可以在控制台中运行javascript函数,我的mac上有safari,alert,prompt,所有这些东西都在工作。但不是window.close(); 要退出应用程序,我必须通过按下开关按钮和主页按钮重新启动设备。
如果有人能帮助我弄清楚它是什么,我会非常高兴。
答案 0 :(得分:2)
SoundJS小组已将此问题跟踪到使用以下网址进入全屏模式的网络应用:
<meta name="apple-mobile-web-app-capable" content="yes" />
向苹果报告了一个错误(参考文献#15133492)。
目前我们没有办法解决,除非没有进入全屏模式。
答案 1 :(得分:0)
我遇到了同样的问题,经过一些调试后我发现它来自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并显示当前网址哈希的div。
没有页面重新加载,只是javascript和窗口位置哈希操作。
我不明白它来自哪里。