【问题标题】:What causes an iOS webapp to freeze on the startup screen?是什么导致 iOS webapp 在启动屏幕上冻结?
【发布时间】:2015-05-27 17:50:20
【问题描述】:

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

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

问题

当我将网站上的页面作为主屏幕图标添加书签并尝试从那里启动它时,web 应用程序会在启动图像上冻结。

什么可能导致这个特定问题?

清单:

  • 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 中必要的文件名。
  • 网站主机支持manifest mimeType(无需更改.htaccess)。
  • 该网站确实使用了.htaccess 密码身份验证设置。

注意:我将调查我使用动态附加 jQuery 的 apple-touch-startup-imageapple-touch-icon 是否是这里的问题。

【问题讨论】:

  • 已经投了-1票,但没有解释为什么……太好了。

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


【解决方案1】:

当我在上面的清单中列出 .htaccess 密码身份验证 位时,我才恍然大悟。

iOS 的 Chromeless 浏览器似乎无法在启动时启动用户名和密码提示。

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

Satisfy Any

就是这样!

虽然我不是很喜欢这个解决方案,但我不想每次启动 web 应用时都输入用户名和密码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-14
    • 1970-01-01
    • 2020-03-07
    • 1970-01-01
    • 1970-01-01
    • 2019-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多