Bla*_*ppo 10 javascript css safari mobile-safari ios8
我有一个网络应用程序触发了Safari中似乎是一个iOS8错误,我正在寻找线索,了解它的设置和如何解决它.
该错误的特点是"此网页出现问题,因此重新加载"是在用户花了足够的时间在Safari中导航后出现在页面顶部的.看起来有些事情在幕后崩溃,而Safari只是做得非常好,可以优雅地恢复.阅读崩溃日志显示:
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x00000000
Triggered by Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 JavaScriptCore 0x2d4291d4 0x2d24a000 + 1962452
1 JavaScriptCore 0x2d50e166 0x2d24a000 + 2900326
2 JavaScriptCore 0x2d2bc88c 0x2d24a000 + 469132
...
Run Code Online (Sandbox Code Playgroud)
研究暗示的实例translate3d,并keyframe在CSS文件可能是罪魁祸首.虽然摆脱它们似乎使虫子不太可能复发,但虫子仍然存在.同样,减少与最有可能触发错误的页面相关联的(非常非常大的)CSS文件的大小似乎有所帮助,但不会让它消失.
我的公司处理了一堆针对移动优化的面向商务的Web应用程序,这是唯一一个似乎与这个bug相冲突的应用程序; 我不知道是什么让这个特殊的应用程序如此愤怒的小特殊雪花,但我想弄清楚并纠正它.有没有人对可能触发错误的内容以及我们如何解决它有任何想法?
检查适用的 JavaScript 和 CSS 行是否存在可能的语法违规。一个好的 IDE 编辑器应该突出显示潜在的问题,以简化这项工作。还要检查生成的 HTML 页面源是否存在格式错误的页面。页面格式问题可能会给某些浏览器带来不稳定的行为,但对于其他浏览器则不会出现任何问题。
另一个可以尝试的诊断过程是禁用或注释掉 JavaScript 代码和/或 CSS 行的不同部分,以尝试隔离问题的位置。尽可能删除大的部分,以获得不会产生错误的功能页面。然后,启用或取消注释行,直到错误返回。重复此过程,直到问题区域被隔离以进行纠正。
还要考虑更改在“非常非常大”的 CSS 文件中进行 CSS 定义的顺序。这可能会在页面上产生不同的行为,可以纠正问题或帮助显示问题的原因。
| 归档时间: |
|
| 查看次数: |
3776 次 |
| 最近记录: |