问题描述
|
我有一个页面,总是仅停留在chrome和safari中。页面加载正常,然后达到25%的cpu(4核-如果愿意,则为100%)。它从不崩溃,但保持无响应。 Safari实际上说有一个无响应的脚本。我在所有启动代码上都放置了调试警报,并且代码运行正常。我有“正在等待www ...”的消息,该消息不会消失。
我怎么知道现在正在运行什么?即使选项卡没有响应,有没有办法“转储”当前的javascript堆栈?
我无法发送链接,因为该站点尚未面向普通公众准备,因此,如果您可以提供常规解决方案或任何诊断问题的方法,我将非常感激。
另一个奇怪的是,无响应的页面在本地运行时可以很好地加载。
任何帮助将不胜感激。
解决方法
您可以使用webkit探查器查明它在哪里开始突突。打开开发人员工具(在我的Mac上为Command + alt + i,也可以通过chrome右上角的扳手图标访问),转到“个人资料”标签,然后点击左下角的实心黑色圆圈。执行导致速度降低的操作,然后再次单击黑色实心圆圈。黑色实心圆圈是\'开始录制\'/ \'结束录制\'。然后,您可以查看哪些js函数花费最多的时间。您还可以获得堆快照,因此可以看到所有正在创建的js对象。很有用。