我可能在这里有一些有趣的线索......
事实是我目前在某个网站上,我无法访问“medias”服务器。因此,它的日志没有任何线索,也无法获取记录的404错误。
测试时,我确实有一些与一些CSS内容或其他相关的404错误。 Firebug可以很好地显示它们,但我现在想在客户端登录它们。
我在JavaScript中尝试了一个巨大的解决方法,通过AJAX返回相应的标头,到目前为止,这排除了CSS样式表的所有背景属性。
这些问题仍然存在:
有没有办法捕获Firebug网络输出?
或者有一种简单的方法可以通过JavaScript或其他有创意的聪明解决方案来实现这一目标吗?
答案 0 :(得分:0)
如果您对资源进行XMLHttpRequest
,则应该为您提供响应标头。 200
例如找到时,404
则不是。
您确实需要知道和测试所有资源。
考虑以下代码:
var request = new XMLHttpRequest;
request.onreadystatechange = readyStateXML;
request.open("get", url, true);
request.send(null);
function readyStateXML()
{
if (this.readyState == 4)
{
//404 or 400, not found error
if (this.status == "400" || this.status == "404")
{
console.log("404: The requested page isn't found.");
}
else if(this.status == "500")
{
console.log("500: Internal server error.");
}
}
}
答案 1 :(得分:0)
Firebug uses internal Firefox APIs获取HTTP request information,包括响应的HTTP状态代码。 此信息仅适用于具有特定权限的代码,并且不会向页面本身公开。因此,如果您想访问您的网页所做的所有请求的状态代码,您需要为浏览器编写扩展程序。
对于您在JavaScript中执行的AJAX请求,您可以通过status
property of the XMLHttpRequest
获取其HTTP状态。
function makeRequest(url) {
var req = new XMLHttpRequest();
req.onreadystatechange = function logStateChange() {
if (req.readyState === 4) {
// 'req.status' contains the HTTP status code of the response
console.log(req.status);
}
}
req.open('GET', url);
req.send();
}