2015-04-06 52 views
0

我是这方面的新人,所以请和我一起裸照。我的问题很简单:Firebug在各种标签下显示的信息是否也可在控制台中显示?如何从Firebug的控制台访问Firebug的信息?

E.g.在命令行中我可以创建对象,做简单的数学,执行JavaScript等。例如,我可以为一个HTTP请求创建一个对象:

var request = new XMLHttpRequest(); 

但我想知道是否有某种“全局”变量,实际上拥有request变量,我可以从中读取。喜欢的东西:

console.log(global_http_request.referring_url); 

请注意,我不知道如何显示的推介网址从我来到当前页面(为了这个,我可以使用例如Firefox的工具>页面信息并搜索“引用URL”或Firebug的面板和筛选器XHR)。

我已经试过这(在控制台内)来访问引用URL,但没有运气:

var request = new XMLHttpRequest(); 
undefined 
console.log(request.HEADERS_RECEIVED) 
2 
console.log(request.HEADERS_RECEIVED.valueOf) 
valueOf() 
console.log(request.HEADERS_RECEIVED.toString) 
toString() 
console.log(request.HEADERS_RECEIVED.toString()) 
2 
console.log(request.HEADERS_RECEIVED.valueOf()) 
2 
console.log(request.getAllResponseHeaders.name.valueOf.toString()) 

function valueOf() { 
    [native code] 
} 

console.log(request.getAllResponseHeaders()) 
(an empty string) 
+0

是不是变量'request'你想要什么? – epascarello

+0

你的问题的标题很混乱。你的问题似乎与如何获得XHR的引用者而不是关于Firebug相关。 –

+0

所以我假设你的问题实际上是如何从JavaScript内部获取XHR的'Referer'请求头部,对吧? –

回答

1

有很多数据你不能使用标准的JS,但Firebug有权访问,因为它运行的权限比网页更高。例如,我认为响应标题是通过黑名单运行的。

但是,如果您只是希望JS访问数据以简化调试,则应该可以通过右键单击XHR对象并选择“在命令行中使用”来在Firebug中获得该信息。

+0

这很有趣,因为有些页面在下面没有显示任何内容:“XHR”和我现在打开的另一个页面表示引用是同一页(通过$ p提到的步骤获得)以及Firefox中的页面信息表示引用是stackoverflow页面。 –

+0

所以简短的回答是:不,这是不可能的?另一个答案中提到的'window'对象呢? –

+0

FWIW,我刚刚测试了一些东西,看起来要从XHR获取Firebug信息,您需要右键单击网络面板中的XHR请求 - 控制台面板会为您提供一个普通的XHR对象。但是这应该会让你回想起你在Firebug中看到的东西。无论如何,我实际上很困惑你究竟在问什么(例如,除了你创建的XHR是什么“真正的XHR”),但我认为你不会找到比给定的方式更多的方法。 –

1

但我想知道是否有某种“全局”变量实际上 持有我的实际XMLHttpRequest()和我可以读取?

这个全局对象被称为window

+0

请原谅我的愚蠢问题,但我试图通过'console.log(window.XMLHttpRequest.HEADERS_RECEIVED.toString)得到提及的参考',并且它没有返回任何内容。我做错了什么? –

+0

你似乎已经命名了你的变量'request',所以你可以试着寻找'window.request'或者'request'。当然,只有在异步请求完成执行后,才能读取响应头。 –

+0

'var request = new XMLHttpRequest();'创建了新的'XMLHttpRequest()'对象吗?我的意思是新的它与已经存在并已经设定了价值的原始物无关。 –

相关问题