我正在尝试使用 chrome/firefox 扩展并在 Edge 上运行它。
调用 url 时,chrome 扩展程序会创建一个侦听器。
chrome.webRequest.onBeforeRequest.addListener(onBeforeRequest, {'urls': urls, 'types': ['main_frame']}, ['blocking', 'requestBody']);
该扩展为不同的 url 创建了 1000 多个这样的侦听器,并且在 chrome 中它可以正常工作。在 Edge 中,我认为我溢出了堆。
有没有一种方法可以为所有 URL 创建 1 个侦听器,然后在函数中调用 for 循环以通过 url 过滤器并查看当前 url 是否匹配?
例如,这就是我尝试过的。
for (var f_key in resourceRecords) {
var matchedURL = false;
var jLength = resourceFunctions[f_key]['urls'].length;
for (var j = 0; j < jLength; j++) {
if (resourceFunctions[f_key]['urls'][j].matches(details['url'])) {
matchedURL = true;
break;
}
}
if (!matchedURL) {
continue;
}
//Code from the chrome extension
}
谢谢你。你们太棒了。