В этом расширении Chrome, почему запросы отправляются повторно? - PullRequest
0 голосов
/ 03 сентября 2018

Моя цель - записывать запросы, и я экспериментирую с использованием истории для этого. Однако то, что я вижу, когда я перехожу на страницу, очевидно, код вызывается снова и снова:

    chrome.webRequest.onBeforeRequest.addListener(
       function(info) {
         var xhr = new XMLHttpRequest();
         chrome.history.search({text: '', maxResults: 1}, function(data) {
           data.forEach(function(page) {

            console.log(page.url+"history");

         xhr.open("PUT", 
        'http://localhost:8080/Server/create/foo', true);
        xhr.setRequestHeader('Content-type','text/plain; charset=utf-8');
        xhr.send(page.url);
   });
});

Похоже, что прослушиваемое событие происходит многократно, даже если я остаюсь на той же странице. Я не знаю, делает ли сайт запросы, которые отображаются на той же странице в истории поиска.

Что бы я хотел, чтобы каждый раз, когда пользователь переходил на новую страницу, это записывалось один раз. Например, если пользователь заходит на reddit.com, один сервер будет отправлен на сервер; если пользователь перейдет на yahoo.com, будет сгенерирован еще один запрос. Причина, по которой я перешел к использованию функции истории chrome, заключается в том, что посещение таких сайтов, как reddit или yahoo, приводило к многочисленным запросам, поскольку сам yahoo делал несколько запросов.

Итак, есть ли способ просто записать URL-адрес, на который перешел пользователь, игнорируя запросы, которые может сделать сам сайт?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...