由于无法使用Greasemonkey/tampermonkey进行此操作,我想编写一个Chrome扩展程序,如果最初由于服务器错误而无法加载页面,该扩展程序将重新加载页面。
我想创建一个扩展,如果页面不断返回http500错误,它将不断重新加载每个打开的选项卡。
我写Chrome扩展程序不是很好,但我读过一些关于
https://developer.chrome.com/extensions/api_index
并且能够编写一个扩展来检查服务器返回的http标头,使用
https://developer.chrome.com/extensions/webRequest
onHeadersReceived事件,用于检查返回状态,如果返回状态为500,则重新加载。
探头
它可以工作,但它只重新加载当前的点击,而不是在后台运行的所有其他打开选项卡上。
我需要这个扩展的原因
我使用我编写的油脂猴子脚本一次打开网站的所有链接,如果链接页面打开因http500错误而无法打开,我希望扩展程序不断重新加载它,并希望它适用于后台运行打开链接的所有其他选项卡
到目前为止我的代码
manifest.json
{
"name": "RWEO",
"version": "0.4",
"description": "Reload page when Http 500 error occur",
"manifest_version": 2,
"permissions": [
"webRequest",
"webNavigation",
"tabs",
"<all_urls>"
],
"background": {
"scripts": ["background.js"],
"persistent": true
}
}
背景.js
chrome.webRequest.onHeadersReceived.addListener(
function(details) {
if (details.statusCode == 500) {
var repeat = 0
var check = setInterval(() => {
chrome.tabs.reload({ bypassCache: false })
if (repeat == 3) {
clearInterval(check)
} , 5000})
repeat++
}
}, { urls: ["<all_urls>"] }, );