在一個獨立的XUL應用程序,我想搭上server not found
例外。我試圖通過檢查onStateChange
事件的nsIWebProgressListener
事件,但這似乎不工作。我的onStateChange
事件實現如下所示。我假設如果STATE_START
或STATE_STOP
未返回有效值,則頁面加載出現問題,並向用戶顯示錯誤消息。捉「找不到服務器」異常
onStateChange: function(aProgress, aRequest, aFlag, aStatus) {
const STATE_START = Components.interfaces.nsIWebProgressListener.STATE_START;
const STATE_STOP = Components.interfaces.nsIWebProgressListener.STATE_STOP;
if(aFlag & STATE_START) {
document.getElementById("progressBar").hidden = false;
}
if(aFlag & STATE_STOP) {
setTimeout(function() { document.getElementById("progressBar").hidden = true; }, 2000);
}
if(aFlag & (!STATE_START | !STATE_STOP)) {
alert("Your connection seems to be down. Please confirm with your system admin.");
}
return 0;
},
可有人好心指點我什麼我做錯了嗎?提前致謝。
你能成爲一個更具體一點,你在做什麼?如果我理解正確,您正嘗試將URL加載到''元素中,並且擔心出現在錯誤控制檯中的異常?那個異常說**完全**? –
我正在開發一個桌面應用程序,充當在線服務的網關。在線服務在瀏覽器元素中啓動。我希望能夠判斷是否無法訪問Internet,並向用戶顯示適當的消息。使用'loadURI()'方法加載。我嘗試過在try catch塊中圍繞這個,如下所示:'try {document.getElementById(「browser-id」).loadURI(「http://www.online-service.com」); \t \t}趕上(E){ \t \t \t警報( 「你的互聯網連接似乎已斷開,請諮詢您的網絡管理員。」); \t \t}',但catch塊沒有被執行。 – okello
當然不是,DNS解析是一個異步操作 - 您不能指望在那裏同步獲取異常。請編輯您的問題並添加您嘗試過的'nsIWebProgressListener'代碼,這是正確的方法,並且您必須在某處出錯。 –