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

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


当前回答

输入:在控制台,

获取窗口对象,我认为(?),我认为这基本上与在控制台中输入window是一样的。

它至少在Firefox和chrome上工作。

其他回答

你可能想尝试这个Firebug lite扩展Chrome。

在javascript控制台中输入以下语句:

debugger

现在可以使用正常的调试工具检查全局作用域。

公平地说,您将获得窗口范围内的所有内容,包括浏览器内置,因此这可能是一种大海捞针的体验。:/

打开控制台,然后输入:

键(窗口)查看变量 Dir(窗口)查看对象

对此,大卫·沃尔什有一个很好的解决方案。以下是我对这个问题的看法,结合了他的解决方案和在这个帖子中发现的东西。

https://davidwalsh.name/global-variables-javascript

x = {};
var iframe = document.createElement('iframe');
iframe.onload = function() {
    var standardGlobals = Object.keys(iframe.contentWindow);
    for(var b in window) { 
      const prop = window[b];
      if(window.hasOwnProperty(b) && prop && !prop.toString().includes('native code') && !standardGlobals.includes(b)) {
        x[b] = prop;
      }
    }
    console.log(x)
};
iframe.src = 'about:blank';
document.body.appendChild(iframe);

X现在只有全局变量。

输入:在控制台,

获取窗口对象,我认为(?),我认为这基本上与在控制台中输入window是一样的。

它至少在Firefox和chrome上工作。