跟踪404错误页面或如何使用Javascript监视浏览器发出的http头请求的状态
我正在开发一个脚本,在客户端使用JavaScript帮助跟踪404个错误页面。我在同一网站上搜索了教程/帖子,但没有找到任何对我有帮助的 一篇文章提到在服务器端使用curlphp&将用户重定向到一个定制的404页面。但这并不能解决我的问题,我希望它在客户端 这里提到了如何创建http对象、打开连接并通过以下方式检测其状态:跟踪404错误页面或如何使用Javascript监视浏览器发出的http头请求的状态,javascript,http-headers,firebug,http-status-code-404,Javascript,Http Headers,Firebug,Http Status Code 404,我正在开发一个脚本,在客户端使用JavaScript帮助跟踪404个错误页面。我在同一网站上搜索了教程/帖子,但没有找到任何对我有帮助的 一篇文章提到在服务器端使用curlphp&将用户重定向到一个定制的404页面。但这并不能解决我的问题,我希望它在客户端 这里提到了如何创建http对象、打开连接并通过以下方式检测其状态: var request = makeHttpObject(); request.open("GET", "your_url", true); request.send
var request = makeHttpObject();
request.open("GET", "your_url", true);
request.send(null);
....
if( request.status == 404 )
print("404 error")
但是在这里,我们自己发出http请求&因此可以访问该对象。我的目标是从浏览器发送的请求中检测由于用户导航导致的404页面错误
我们可以监视浏览器的http对象的响应状态吗?Firebug的网络分析功能如何访问http头?我可以在脚本中复制它吗
我注意到,浏览器的开发工具的控制台对于缺少的页面以及页面上的图像等单个元素给出了404错误
以下是我可以想象的可能的解决方案:
监视浏览器发送的每个http请求的response.status
使用开发人员工具/浏览器的错误通知跟踪404个错误,使用API提取工具的错误通知(如果存在)
非常感谢你是说这样的事吗
function returnStatus(req, status) {
//console.log(req);
if(status == 404) {
console.log("The url returned status code " + status);
}
else {
console.log("success");
}
}
function fetchStatus(address) {
var client = new XMLHttpRequest();
client.onreadystatechange = function() {
// in case of network errors this might not give reliable results
if(this.readyState == 4)
returnStatus(this, this.status);
}
client.open("HEAD", address);
client.send();
}
fetchStatus("http://yoururl.com");