状态代码无需webRequest权限?

时间:2015-10-09 20:37:32

标签: google-chrome-extension

我正在编写Chrome扩展程序,以便在链接失败时回退到Wayback Machine。

webNavigation似乎足以用于DNS查找案例,但我一般都没有看到仅通过webNavigation检测链接失败的方法。

例如,http://www.google.com/adasdasdasdasdasdasd是一个404链接 - 但我仍然在webNavigation onDOMContentLoaded和onCompleted上,没有指出HTTP错误(没有发送onErrorOccurred)。

我真的希望避免使用具有广泛开放主机模式的webRequest权限。有没有办法检测我错过的HTTP故障?

1 个答案:

答案 0 :(得分:1)

HEAD中发送XMLHttpRequest onBeforeNavigate个请求,并在onreadystatechange回调中分析响应状态代码。如果是404,则使用chrome.tabs.update更改标签网址。

为每个页面发送额外请求的缺点是微不足道的,因为网页在加载时通​​常会产生更多请求。