我的目标是记录请求,我正在尝试使用历史记录。 但是,我看到的是,一旦我转到页面,显然代码就会被一遍又一遍地调用:
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本身正在发出多个请求。
总而言之,有没有一种方法可以只记录用户导航到的网址,而忽略网站本身可能发出的请求?