我正在编写Chrome扩展程序,以便在链接失败时回退到Wayback Machine。
webNavigation似乎足以用于DNS查找案例,但我一般都没有看到仅通过webNavigation检测链接失败的方法。
例如,http://www.google.com/adasdasdasdasdasdasd是一个404链接 - 但我仍然在webNavigation onDOMContentLoaded和onCompleted上,没有指出HTTP错误(没有发送onErrorOccurred)。
我真的希望避免使用具有广泛开放主机模式的webRequest权限。有没有办法检测我错过的HTTP故障?
答案 0 :(得分:1)
在HEAD
中发送XMLHttpRequest onBeforeNavigate
个请求,并在onreadystatechange
回调中分析响应状态代码。如果是404
,则使用chrome.tabs.update
更改标签网址。
为每个页面发送额外请求的缺点是微不足道的,因为网页在加载时通常会产生更多请求。