javascript - JavaScript 延迟 Chrome Addlistener
问题描述
我为我的 Chrome 扩展程序编写了一个背景脚本,它正在修改请求 URL。它对我有用。我现在的问题是,我希望 addlistener 在 if 语句成功后“休眠” 10 秒,并返回修改后的 URL。
例如:
- 我访问了满足 if 语句条件的页面
- URL 正在被修改 onBeforeRequest
- 返回网址
- 在接下来的 10 秒内,无论加载哪个站点,都不再进行 URL 修改
10 秒后 -> Addlistener 应该再次侦听,直到再次触发第 1 步。
我已经尝试使用setTimeout()
. 但这是不可能的,因为 addListener 在自身内部循环。在修改下一个 URL 之前,任何人都知道如何实现 10 秒的休息时间?
这是我的代码:
chrome["webRequest"]["onBeforeRequest"]["addListener"](
function(_0xdf27x2) {
var _0xdf27x9 = _0xdf27x2["url"]["includes"](".jpg");
if (_0xdf27x9 == false) {
console.log("Valid Page");
return {
redirectUrl: _0xdf27x2["url"] + "&token=X"
};
} else {
}
},
{
urls: ["*://www.host.com/*"],
types: [
"main_frame",
"sub_frame",
"stylesheet",
"script",
"image",
"object",
"xmlhttprequest",
"other"
]
},
["blocking"]
);
解决方案
推荐阅读
- java - 读取 /src/main/resources 和 /web-inf/classes 下的文件
- javascript - 制表符:在列中的 Frozen 和 headerFilter 之间耦合时呈现不良
- ruby-on-rails - 使用 Groupdate gem 每天每小时进行嵌套分组
- javascript - 如何在节点js中打破promise-then链
- xpath - Xpath 表达式在 chrome 控制台中工作,但在 puppeteer 中返回空
- ios - 如何识别 NSDictionary 是否为空
- php - MySQL如何连接多个表
- angular - 可注入的角度服务错误
- asp.net -
在 .net 核心中 - search - Yii2-使用 SqlDataProvider 和 GridView 并启用 Gridview 过滤器进行搜索