Могу ли я использовать фильтр стиля слушателя с оператором "если"
Я пытаюсь взять расширение Chrome/ Firefox и запустить его на Edge.
Расширение chrome создает слушателя при вызове URL.
chrome.webRequest.onBeforeRequest.addListener(onBeforeRequest, {'urls': urls, 'types': ['main_frame']}, ['blocking', 'requestBody']);
Расширение создает более 1000 таких слушателей для разных URL-адресов, а в Chrome работает нормально. В Edge я думаю, что переполняю кучу.
Есть ли способ, которым я могу создать 1 слушатель для всех URL-адресов, а затем в функции вызвать цикл 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
}
Спасибо. Вы, ребята, великолепны.