在Firebug中,DOM选项卡显示了所有公共变量和对象的列表。在Chrome的控制台中,你必须输入你想要浏览的公共变量或对象的名称。

有没有一种方法——或者至少是一个命令——让Chrome的控制台显示所有公共变量和对象的列表?这将节省大量的打字。


当前回答

其他回答

窗口对象包含所有公共变量,因此您可以在控制台中键入它,然后展开以查看所有变量/属性/函数。

Avindra在同一篇文章中提到的更新方法-注入iframe并将其contentWindow属性与全局窗口属性进行比较。

(函数() { var iframe = document.createElement('iframe'); iframe.onload = function() { var iframeKeys = Object.keys(iframe.contentWindow); Object.keys(window).forEach(function(key) { if(!(iframeKeys.indexOf(key) > -1)) { 控制台.log(键); } }); }; iframe.src = 'about:blank'; document.body.appendChild(iframe); })();

因为所有的“公共变量”实际上都是窗口对象(你正在查看的窗口/选项卡)的属性,你可以只检查“窗口”对象。如果你有多个帧,你将不得不选择正确的窗口对象(就像在Firebug中)。

要查看chrome中的任何变量,请转到“来源”,然后“观看”并添加它。如果你在这里添加“window”变量,那么你可以展开它并进行探索。

这就是你想要的输出吗?

for(var b in window) { 
  if(window.hasOwnProperty(b)) console.log(b); 
}

这将列出窗口对象中所有可用的内容(所有函数和变量,例如,本页上的$和jQuery等)。虽然,这是一个相当长的列表;不知道它有多大帮助…

否则就只做window,然后从树往下看

window

这将给你一个DOMWindow,一个可扩展/可探索的对象。