我試圖在包含Javascript文件時檢查URL是否返回404,403等。它工作正常,但我仍然在「Chrome開發人員工具」中遇到錯誤。檢查url是否返回404
這是我的代碼:
(function() {
try
{
var ml = document.createElement('script');
ml.type = 'text/javascript';
ml.async = true;
ml.id = 'monoloop_invoke';
ml.onerror = function(){alert('File does not exist');};
ml.src = 'http://somedomain.com/somefile.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ml, s);
}
catch(err)
{
alert('Error: '+err);
}
})
();
如果文件不存在,它顯示錯誤「文件不存在」從ml.onerror
功能。這很好。但問題是,我仍然在我的控制檯中看到如下錯誤行:
GET http://somedomain.com/somefile.js 403 (Forbidden)
並且try/catch無法捕獲此錯誤。
任何人都知道如何解決這個問題?或者在包含它之前存在URL是否存在另一種測試方法?我不能使用AJAX,因爲我需要以跨域的方式使用它。如有必要,我可以使用jQuery。
編輯:它不顯示在IE中的錯誤,所以我想這可能只是涉及到鉻報告問題的方式。有沒有人看到一個更優雅的解決方案來檢查一個文件是否存在,而沒有在控制檯中進行任何操作。
那麼,你提出的要求,所以當然Chrome的要告訴你,它返回一個403 – Jeremy 2011-05-13 13:33:47
我不認爲這會產生一個錯誤。 你不能使用Ajax並調用該頁面,獲取內容並解釋它嗎? – Pwnna 2011-05-13 13:34:03
使用引用無效URL的src屬性將'script'標記插入DOM ...現在引發異常? – 2011-05-13 13:37:10