【发布时间】:2014-07-17 23:12:17
【问题描述】:
如果 URL 在黑名单中,我正在构建一个重定向到 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。
【问题讨论】:
标签: javascript redirect google-chrome-extension xmlhttprequest