【问题标题】:Slow webapp load time in Safari iOS 9.1Safari iOS 9.1 中的 webapp 加载时间慢
【发布时间】:2015-11-20 01:40:34
【问题描述】:

在 iOS 9.1 的 Safari 中首次加载我们的 web 应用大约需要 30 秒。大多数视觉加载都是及时发生的,但 HTTP 请求大约 30 秒无法处理。我只能通过以下链接在 iPad 上重现此内容:http://tco.ekotrope.com/tco/?deployment=eko-dev&#community/default。由于缓存,我只能复制一次。可以通过以下链接再次复制它,http://tco.ekotrope.com/tco/?deployment=eko-dev&#community/sunwood-bridgewater

我曾尝试调查在 iPad 插入 Macbook 时查看开发人员工具网络选项卡,但出于某种奇怪的原因,页面在插入时加载速度很快,而我正在查看网络选项卡。

任何想法可能发生什么或我可以做些什么来进一步调查?谢谢!

【问题讨论】:

  • 我也遇到了这个问题,但我注意到您发布的链接似乎不再有问题了。您是否碰巧找到了解决此问题的方法?
  • 看来这个问题也会影响 iOS 9
  • 我遇到了同样的问题,一些页面资源只会停顿大约 30 秒。大多数情况下它是一个 css 文件,但通过计算机访问时它可以完美运行。
  • 显然问题出现在 WiFi 上。在 3G/4G 上,请求最多不会超过 10 秒。 WiFi 上的延迟应该更小,但显然发生了一些事情。

标签: ios ipad safari


【解决方案1】:

我们能够在我们的网络应用上解决问题。

简而言之,问题在于 iOS 9.1 Safari 如何选择安排 HTTP 连接。由于可能与在某些情况下提高性能有关的原因导致某些边缘情况成为问题。在我们的例子中,我们有几个图像试图同时加载,因为我们需要一个 XHR 发生。在桌面 Chrome 等其他浏览器中,这不是问题,但 iOS 9.1 Safari 在尝试一次完成所有这些操作时会窒息。我们的解决方案是让触发问题的图像一个接一个地加载,而不是同时加载。这样可以将事情分散到足够的范围内,以使事情顺利进行。

【讨论】:

  • 我遇到了同样的问题,但在应用修复之前需要澄清一下您的图像最初是如何加载的。您是否只是将图像直接嵌入为<img> 元素,而它们同时加载的事实是导致 Safari 阻塞的原因?那么修复之后呢?我猜您使用 JavaScript 来调节/排队加载图像?不是在寻找代码示例,所以不用担心挖掘任何东西——只是对你使用的过程感到好奇。
  • 我同意澄清的要求。我有一个网站在 yslow 上得分为 90,并且在除 iOS 设备和 safari 之外的所有浏览器和设备上都可以正常加载,但只能通过 wifi 和 LTE 加载。
  • 抱歉延迟回复!我们将图像存储在 Amazon S3 上,因此它们是动态加载的,但我们是同时加载它们的。作为修复的一部分,我们使用了这个预加载器插件:github.com/OneGeek/preloadr
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-07
  • 1970-01-01
  • 1970-01-01
  • 2019-05-01
  • 2020-09-19
  • 1970-01-01
相关资源
最近更新 更多