有没有办法获取在触发DOMContentLoaded时执行的所有代码,或jQuery的$(document).ready()函数。
我正在尝试优化我的网站并通过速度测试,我发现在触发DOMContentLoaded时,花费了2秒的页面加载时间来处理事件。
答案 0 :(得分:2)
我强烈推荐Chrome Profiler执行此任务:
答案 1 :(得分:1)
试试这个:
console.log($(document).data("events").ready);
基于John Resig的帖子:http://forum.jquery.com/topic/list-event-listeners
另外,请查看listHandlers
plugin.
如果所有其他方法都失败了,您可以暂时编辑核心jQuery文件:
ready: function( fn ) {
//create a wrapper function so we can step into the debugger
var fn2 = function() {
var args = [].slice.call(arguments);
debugger; // <-- start debugging each handler as it fires
return fn.apply(this, args);
}
// Attach the listeners
jQuery.bindReady();
// Add the callback
readyList.add( fn2 );
return this;
},
答案 2 :(得分:0)
根据Network Panel info in the Chrome Developer Tools documentation,DomContentLoaded
一旦出现蓝线就会被解雇。 FWIW,load
一旦出现红线就会被解雇。