2013-03-23 105 views
0

在我的Firefox引伸我媒體鏈接實現我的Progresslistener的方法onLocationChange()。正確檢測到位置欄中URI的更改。現在我想實現onProgressChange()方法。nsIWebprogressListener.onProgressChange():獲取請求的URI

我試圖在這裏做的:我想檢測,當請求定義URI。只是起點,我試圖提醒請求的URI:

onProgressChange: function(aWebProgress, aRequest, curSelf, maxSelf, curTot, maxTot) { 
    if (aRequest != null) { 
     var reqName = aRequest.name; 

     alert(reqName); 
    } else { 
     alert("Request is null"); 
    } 
} 

所以,我想請求網站會觸發此方法aRequest.name必須是請求頁面的URL。而是隻存在戒備「爲空」多次...

任何人可以幫我在這個問題上?

我的文檔閱讀,name屬性並不一定是請求的URI。有沒有更好的方法來獲取請求的URI?

謝謝大家多幫忙!

回答

0

的QueryInterface aRequest到nsIChannel並獲得.URI.spec上?

+0

謝謝你的回答。我也想到了這種可能性。但問題是,警報聲稱aRequest爲空。所以,也不會有頻道......任何想法,爲什麼aRequest是空的? – kwonilchang

+0

哦,我明白了,你正在碰到'else'分支......如果你想看到請求開始,你有沒有試過'onStateChange'而不是'STATE_START'? –

+0

這樣做的工作。謝謝! – kwonilchang