网站在 iOS 的 Safari 上崩溃
Posted
技术标签:
【中文标题】网站在 iOS 的 Safari 上崩溃【英文标题】:Website is crashing on Safari in iOS 【发布时间】:2017-05-10 11:10:33 【问题描述】:我们在客户的网站上遇到了一个复杂的问题。该网站在 iPhone 6 Plus 上的 ios 9.3.2 上崩溃。但是,它不会在最新版本的 iOS 上甚至在装有 iOS 9.3.1 的 iPhone 6 上崩溃。
如何重现错误:
-
用 iPhone 6(或 iPhone 6 Plus)打开网站:
http://www.kindervorhang.ch/Vorhaenge-fixfertig-Verdunkler-Ellie
点击 «In den Warenkorb» 将产品添加到购物篮中
现在,如果您滚动网站或更改方向,它将崩溃
现在,如果您触摸某物或稍微滚动一下,它将再次崩溃,直到您看到全屏错误描述
有没有人遇到类似的问题或者现在如何解决?
我在 Xcode 中得到了这个错误代码:
May 10 12:43:56 ASs-iPhone diagnosticd[88] <Error>: unable to find offset 0x804cf98c in shared cache for arch 'arm64'
May 10 12:43:56 ASs-iPhone ReportCrash[703] <Notice>: platform_task_update_threads failed 1
May 10 12:43:56 ASs-iPhone ReportCrash[703] <Notice>: Formulating report for process[699] com.apple.WebKit.WebContent
May 10 12:43:56 ASs-iPhone assertiond[67] <Error>: assertion failed: 13F69: assertiond + 72572 [0B862A7D-6E8B-3778-AD17-C7694ECD5BCD]: 0x3
May 10 12:43:56 ASs-iPhone Unknown[67] <Error>:
May 10 12:43:56 ASs-iPhone assertiond[67] <Error>: assertion failed: 13F69: assertiond + 72572 [0B862A7D-6E8B-3778-AD17-C7694ECD5BCD]: 0x3
May 10 12:43:56 ASs-iPhone Unknown[67] <Error>:
May 10 12:43:56 ASs-iPhone UserEventAgent[26] <Notice>: jetsam: kernel termination snapshot being created
May 10 12:43:56 ASs-iPhone ReportCrash[703] <Warning>: report not saved because it is non-actionable
May 10 12:43:56 ASs-iPhone com.apple.xpc.launchd[1] <Error>: assertion failed: 13F69: launchd + 116796 [9F6284CF-8A17-36CC-9DB5-85D510A21F14]: 0x3
May 10 12:43:56 ASs-iPhone ReportCrash[704] <Warning>: Report of type '298(298)' not saved because the limit of 25 logs has been reached
【问题讨论】:
【参考方案1】:我只是花了一整天的时间来解决一个类似的问题。我的网站在 iPad 3 和 iPhone 5 上加载时崩溃。我最终将其范围缩小为 CSS 属性:
#cv-section-header
overflow-x: hidden;
很难相信 CSS 属性会导致网站在旧版 iOS 上崩溃,但事实就是如此。
【讨论】:
【参考方案2】:我们逐行测试了 css 行,发现如果我们将这些行注释掉,一切正常:
div.set-65131>.colInside
position: fixed;
top: 0;
height: 100%;
width: 100%
div.set-53541
height: 100%;
width: 100%;
position: absolute
div.set-53541>.colInside
background-image: none;
background-color: rgba(255, 255, 255, 0)
div.set-53541>.colInside
height: 100%;
max-width: 1240px;
left: 0!important;
right: 0!important;
margin-left: auto!important;
margin-right: auto!important;
position: fixed
现在它可以在所有不同的设备上运行。问题可能是位置固定在组合宽度高度 100%。
我们找到了一种不同的解决方案来应用我们的背景图像。
【讨论】:
以上是关于网站在 iOS 的 Safari 上崩溃的主要内容,如果未能解决你的问题,请参考以下文章
iOS 9 Safari webkit 仅在 iPad 上崩溃(iPhone 工作正常)
iPhone 和 iPad 上的 Safari 在缩放时崩溃(双击和捏合)