我试图在包含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