我有一个有几个超时的脚本,使用 Raphael 绘制菜单并使用各种动态属性来完成此操作。您可以在 jsfiddle 查看它:JSFiddle version of my code
我的问题是 Firefox 偶尔会抛出“脚本运行缓慢等”。打开此页面时出错,可能会在半分钟或更长时间后出现。通常我会将鼠标悬停在一个元素上,因此此时会打开一个子菜单。该错误通常不会指向我的任何 js 文件,有时甚至不会指向 Firefox 自己的文件。
我该如何调试它,有可能吗?任何提示表示赞赏。 (我现在使用 chronos 作为计时器,似乎没有帮助)
最佳答案
剖析你的代码
您可能想要进行分析,即对您的代码进行性能分析。正如其他人指出的那样,Firebug 是 Firefox 中的一个好工具。更具体地说:在 Firebug 中,单击控制台 选项卡中的配置文件。然后稍微调整一下您的导航并再次单击配置文件 以完成分析并获得结果。他们会告诉您调用哪些函数的频率和执行时间。这将帮助您确定代码中的性能瓶颈。
优化
快速浏览一下,我会说您可能仍然可以优化 DOM 查询。保存对昂贵查询结果的引用。和 use contexts如果可能,提高查询效率。
此外,requestAnimationFrame()
现在似乎是使用 javascript 动画的方式,而不是 setTimeout()
。
关于javascript - 如何调试使页面运行缓慢的脚本(根据 firefox)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11206407/