gpt4 book ai didi

javascript - chrome.webRequest.onBeforeRequest 仅重定向最后一个 URL

转载 作者:行者123 更新时间:2023-12-03 12:14:17 24 4
gpt4 key购买 nike

我正在构建一个扩展程序,如果该网址位于黑名单中,该扩展程序会重定向到 google.com。我将黑名单存储在本地文件“list.txt”中,并使用 XMLHttpRequest 检索 URL 列表。我遇到的问题是 chrome.webRequest.onBeforeRequest 仅当 URL 是列表中的最后一个时才重定向。这是我的代码:

var list = ["something.something/something"];

var xhr = new XMLHttpRequest();

xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
list = xhr.responseText.split(/\n/);
abc();
}
}

xhr.open("GET", chrome.extension.getURL('text/list.txt'), true);
xhr.send(null);

function abc() {
chrome.webRequest.onBeforeRequest.addListener(
function (details) {
return {redirectUrl: "https://google.com"};
},
{urls: list, types: []},
["blocking"]);
}

文件“list.txt”是:

*://*.domain1.com/*
*://*.domain2.com/*
*://*.domain3.com/*
*://*.domain4.com/*

仅当 URL 为domain4.com 时才重定向。

请帮忙。

请注意,我声明

var list = ["something.something/something"];

因为如果列表为空,chrome.webRequest.onBeforeRequest 将重定向每个 URL。

最佳答案

我希望您使用 Windows 来保存 .txt 文件,该文件以 \r\n 结尾。因此,除了最后一个 url 之外,所有其他 url 都以与该 url 不匹配的 \r 结尾。我建议:

list = xhr.responseText.split(/\r?\n/);

关于javascript - chrome.webRequest.onBeforeRequest 仅重定向最后一个 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24800391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com