Javascript 如何找到js的哪个部分使页面变慢
您好,我的页面在本地服务器上运行了大约9秒,在远程服务器上运行了大约20秒,我确信问题出在js中,但我找不到导致速度变慢的原因,您能帮我找到解决方案或任何工具来查找问题吗?现在所有现代主流浏览器都内置了js评测功能。 &它们都有很好的客户端脚本分析工具,还有http流量监视器,可以帮助您诊断问题。也有一个 下面是一个firebug探查器的示例 [编辑]在Chrome中,按Ctrl+Shift+J打开JavaScript配置文件页面。我将为Firefox添加附加组件,并 有关更多详细信息,请查看此 关于 Wazzy您可以用于Firebug。从YSlow页面: YSlow分析网页,并根据一组高性能网页的规则提出提高其性能的方法。YSlow是一个Firefox插件,与Firebug web开发工具集成。YSlow根据三个预定义规则集或用户定义的规则集之一对网页进行分级。它提供改进页面性能的建议,总结页面的组件,显示页面的统计信息,并提供性能分析工具,包括Smush.It™ 和JSLintJavascript 如何找到js的哪个部分使页面变慢,javascript,profiling,Javascript,Profiling,您好,我的页面在本地服务器上运行了大约9秒,在远程服务器上运行了大约20秒,我确信问题出在js中,但我找不到导致速度变慢的原因,您能帮我找到解决方案或任何工具来查找问题吗?现在所有现代主流浏览器都内置了js评测功能。 &它们都有很好的客户端脚本分析工具,还有http流量监视器,可以帮助您诊断问题。也有一个 下面是一个firebug探查器的示例 [编辑]在Chrome中,按Ctrl+Shift+J打开JavaScript配置文件页面。我将为Firefox添加附加组件,并 有关更多详细信息,请查看
除了内置的或附加的分析工具(我想说的首选方式),还可以使用计时器。 我做了这个:
function Timer(){
var start = new Date
,ended = 'running ...';
return {
start: function(){
start = new Date;
return this
},
stop: function(mssg) {
var stoppedAt = (new Date - start);
ended = [(mssg ? mssg+': ' : '')
,(stoppedAt/1000)+' sec (+/- 15ms)'].join('')
return ended;
}
,toString: function(){
return ended;
}
};
}
//usage:
var timenow = new Timer().start();
// run a function
console.log(timenow.stop('this took '));
您还可以使用包装器函数来计时函数的执行时间。比如:
function timedFn(fn){
var timer = new Timer().start();
fn();
console.log(timer.stop('function took '));
}
其他六个问题中只有一个得到了可接受的答案?是的,主要是因为我必须使用自己的解决方案,我已经在使用它了,伙计:)它告诉我哪个文件正在加载,但我需要找到部分/函数/行,无论是什么使文件加载变慢:)谢谢你的帮助anyway@user503148好吧,伙计,你没看在正确的屏幕上。上面给出的工具分析了执行的每个javascript方法,并给出了详细的时间安排。