是什么导致iOS webapp在启动屏幕上冻结?

时间:2015-05-27 17:50:21

标签: ios html5 splash-screen freeze iphone-standalone-web-app

我开发了一个HTML5 webapp,到目前为止我的本地服务器测试工作正常(在桌面浏览器,iOS Safari浏览器和主屏幕书签webapp中运行)。这也适用于离线使用(使用cache.manifest文件)。

当我将文件上传到我的网站时,我测试确认它仍可在桌面上运行(Chrome显示应用程序缓存日志),也适用于iOS Safari。在线和离线。

问题

当我从我的网站将该页面标记为主屏幕图标并尝试从那里启动时,webapp会冻结启动图像。

可能导致此特定问题的原因是什么?

清单:

  • HTML标记包含:<html manifest="cache.manifest">
  • HTML确实包含:<meta name="apple-mobile-web-app-capable" content="yes">
  • HTML确实包含:<meta name="apple-mobile-web-app-status-bar-style" content="black">
  • 不确定这是否重要但是:<meta name="viewport" content="width=1024, minimal-ui, user-scalable=no">
  • apple-touch-startup-imageapple-touch-icon链接标记通过Javascript动态附加到<head>标记。
  • 仅包含cache.manifest中必需的文件名。
  • webhost支持manifest mimeType(无需更改.htaccess)。
  • 该网站使用.htaccess密码验证设置。

注意:我会调查我是否使用apple-touch-startup-image&amp; apple-touch-icon动态附加jQuery可能是这里的问题。

1 个答案:

答案 0 :(得分:1)

一旦我在上面的核对清单中列出了 .htaccess密码验证位,我就明白了。

似乎iOS的无边框浏览器无法启动用户名&amp;启动时输入密码。

果然,允许完全访问该页面解决了主屏幕应用程序的问题。为此,我将其包含在webapp所在的同一目录中的单独.htaccess文件中:

Satisfy Any

那就是它!

虽然我不太喜欢这个解决方案,但我再也不想输入用户名&amp;我每次启动webapp时都会输入密码。