При отладке аддона Firefox я получаю бесконечный цикл вызова запроса из другого webRequest.Поскольку в функции getIP () я вызываю запрос к другому сайту, при посещении любого сайта код вызывает функцию getIP (), которая вызывает отправку другого запроса, что вызывает бесконечный цикл getIP ().
Я пытался найти способ исключить сайт "https://api.ipify.org? Format = json " из "all_urls" в слушателе webRequest, но это не сработало.
Фоновый сценарий аддона Firefox: (Manifest.json не важен)
var IP_ADDRESS = ""; //set a variable to extract IP to
function getIP() {
$.getJSON('https://api.ipify.org?format=json', function(data){
console.info("IP RETRIEVED: " + data.ip);
IP_ADDRESS = data.ip;
return data.ip; //kind of redundant
}); //quick request to get ip
//this should return your IP address and extract it into the IP_ADDRESS variable
console.info("Completed");
}
browser.webRequest.onBeforeSendHeaders.addListener(
getIP,
{urls: ["<all_urls>"]});
Функция getIP должна запускаться каждый раз, когда я посещаю веб-сайт, чтобы я мог получить реальный IP-адрес пользователя перед его посещением.сайт.(Мне нужно, чтобы прослушиватель всегда работал на всех URL, но я не нашел способа остановить бесконечный цикл.) Нет сообщений об ошибках, но консоль затопляется функциями console.info.