在 iPad Air 2 上分析前端 (js) 性能问题的策略

Posted

技术标签:

【中文标题】在 iPad Air 2 上分析前端 (js) 性能问题的策略【英文标题】:Strategy to profile front end (js) performance issues on iPad Air 2 【发布时间】:2015-09-21 01:22:08 【问题描述】:

另一个奇怪的时间线事件,它甚至超过 5 秒都没有发出网络请求

在 iPad Air 2 上使用 Safari 重新加载此页面时出现性能问题

http://demo.phppointofsalestaging.com/slow.html

第一次相当快;但是第一次加载后的刷新速度很慢。 (5-10 秒)而且它不会每次都发生。这不是网络问题,因为我在本地网络上尝试过,结果相同。

这也不是服务器端性能问题,因为上面的 url 只是一个静态 html 文件。

这似乎也不是 CSS 问题,好像我删除了所有 CSS 它仍然很慢。

到目前为止,我尝试的是逐个删除 js 文件,看看是否有帮助。由于问题的随机性并且仅在 iPad 上发生,因此很难缩小范围。

另外我知道我的 CSS 和 js 没有被联系或缩小;因为我们仍在积极开发中。

如果我删除所有 js,它会很快。

我们使用第三方脚本;但由于该问题不会发生在桌面上,因此很难使用分析工具。

我正在寻找在 iPad Air 2 上进行分析的任何方法

我正在运行 ios 9.1;但这也发生在 8 点。

有趣的提示:点击刷新图标时很慢;但不要点击 url 然后去。

【问题讨论】:

您可以使用 Safari 直接从任何 iOS 设备调试和分析您的 Web 应用程序。您还可以使用 Xcode iOS 模拟器加载您的代码并再次使用 Safari 进行调试。 Safari 菜单 -> 开发 -> iPad / iPhone -> 您的设备 IP 地址 @DaveGomez 感谢您的提示。我打开了 IOS 模拟器并重现了问题/不幸的是,计算机上的 safari 检查器在错误发生时立即停止。但它确实给了我信息,当它开始下载 css 文件时它被卡住了。我已经发布了它的截图。注意:这是在本地网络上。 我通过删除 css 中的 @import 解决了这个问题。并将所有 css + js 移动到页面顶部...我仍然很想知道为什么会中断... 【参考方案1】:

克里斯,您不能在不同于文档开头的其他地方使用 @import 规则,这就是问题所在。

MDN 关于 @import 规则:

@import CSS at-rule 允许从其他样式表导入样式规则。这些规则必须先于所有其他类型的规则,@charset 规则除外;由于它不是嵌套语句,因此不能在条件组 at-rules 中使用。

【讨论】:

以上是关于在 iPad Air 2 上分析前端 (js) 性能问题的策略的主要内容,如果未能解决你的问题,请参考以下文章

苹果ipad air2键盘往上怎么让它下来

Webapp 在 ipad air 上无法正确显示

图像未在 iPad Air、iPad 3 等较新的 iPad 设备上显示,但在模拟器 iOS 8.1 上显示

NSEntityDescription 仅在 iPad Air 7.1 上返回 nil

iPad air2 充不进去电

为啥 card.io 不能在 iPad Air 上运行?