-
Notifications
You must be signed in to change notification settings - Fork 0
/
requests.js
37 lines (31 loc) · 806 Bytes
/
requests.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
var pattern = null;
var thirdPartyUrls = [];
function getHostname(url) {
let urlArray = url.split('/');
return urlArray[2];
}
function handleUpdated(tabId, changeInfo, tabInfo) {
if (changeInfo.url) {
pattern = getHostname(changeInfo.url);
}
}
browser.tabs.onUpdated.addListener(handleUpdated);
function logURL(requestDetails) {
let url = requestDetails.url;
if (pattern &&
/^http.*/.test(url) &&
!pattern.match(getHostname(url))) {
let uniqueUrl = getHostname(url);
if (thirdPartyUrls.indexOf(uniqueUrl) === -1) {
thirdPartyUrls.push(uniqueUrl);
}
}
document.getElementById("urls").innerHTML = thirdPartyUrls;
}
browser.webRequest.onCompleted.addListener(
logURL,
{urls: [ "<all_urls>"]}
);
function getThirdPartyUrls() {
return thirdPartyUrls;
}