2015-04-06 53 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()'對象嗎?我的意思是新的它與已經存在並已經設定了價值的原始物無關。 –

相關問題