documentready-当在Javascript中激发DOMContentLoaded时,我如何发现正在执行什么

document ready - How do I find out what is being executed when DOMContentLoaded is fired in Javascript?

本文关键字:发现 何发现 什么 执行 Javascript 当在 DOMContentLoaded documentready-      更新时间:2023-09-26

是否有方法获取触发DOMContentLoaded时将执行的所有代码,或者jQuery的$(document).ready()函数。

我正在尝试优化我的网站,通过速度测试,我发现当DOMContentLoaded被触发时,页面的加载时间中有2秒用于处理事件。

我强烈建议使用Chrome探查器执行此任务:

http://www.youtube.com/watch?v=OxW1dCjOstE

试试这个:

console.log($(document).data("events").ready);

根据John Resig的帖子:http://forum.jquery.com/topic/list-event-listeners

另外,请查看listHandlers插件。

如果所有其他操作都失败了,您可以临时编辑核心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;    
},

根据Chrome开发工具文档中的"网络面板"信息,一旦出现蓝线,DomContentLoaded就会启动。一旦红线出现,FWIW、load已经发射。