Моя цель - записывать запросы, и я экспериментирую с использованием истории для этого.
Однако то, что я вижу, когда я перехожу на страницу, очевидно, код вызывается снова и снова:
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-адрес, на который перешел пользователь, игнорируя запросы, которые может сделать сам сайт?