iOS 9 safari webkit仅在iPad上崩溃(iPhone工作正常)

时间:2015-12-07 23:02:27

标签: javascript ios css ipad webkit

我有一个使用python / django后端的web应用程序,并使用了相当数量的CSS3动画,并在前端使用了大量的javascript。这个问题让我有点疯狂,所以我只是想知道是否有人对此有任何想法。

该网站在运行iOS 9.2的iPad mini上崩溃了webkit。野生动物园和铬合金崩溃。 Safari提供以下通知:

A problem occurred with this webpage so it was reloaded

在触摸任何内容之前内容显示之后发生崩溃。有时它会重新加载,直到:

A problem repeatedly occurred on ...

其他时候它最终将加载页面,然后在滚动页面后崩溃。在少数情况下,清除浏览器缓存后该站点将起作用。

它在这些设备上运行良好:

  • iPhone 3 iOS 7
  • iPhone 4 iOS 7
  • iPhone 5 iOS 9.2
  • iPhone 6 iOS 9.2
  • 机器人
  • windows mobile
  • 所有Windows和Mac桌面Chrome,Safari,IE,Firefox

时间轴中没有明显的内存泄漏,包括页面加载和滚动网站内容,动态地将javascript对象和元素添加到dom: Page load and scrolling through site

导致问题的一般程序:

  • 收集包含带有css backgound-image的元素的现有DOM元素:url()
  • 从DOM中删除现有元素。
  • 然后将元素插回到新容器元素
  • 中的DOM中

1 个答案:

答案 0 :(得分:4)

我相信我发现了这个错误......

当您对包含transform:translate3d(); background-image:url(),

的css z-index:-1;的元素应用css sudo apt-get install libssl-dev 时,Safari 9(仅适用于iPad)不喜欢它
  • 删除translate3d改善了这个问题,但性能却是如此 可怕但仍然随机崩溃。

  • 删除背景图片完全解决了这个问题,但却是一个问题 要求。

  • 最后,我能够保留背景图像和translate3d 只要我删除了z-index。

简而言之,如果你在ipad上的Safari 9中遇到一致的崩溃,那么请尝试删除所有负面的z-index,看看是否能修复它。