-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathpopup.js
50 lines (44 loc) · 1.68 KB
/
popup.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
38
39
40
41
42
43
44
45
46
47
48
49
50
//
// (c) Lauritz Holtmann
//
document.addEventListener('DOMContentLoaded', function () {
document
.querySelector("#go-to-options")
.addEventListener("click", function () {
chrome.runtime.openOptionsPage();
});
const domainStats = document.getElementById('domain-stats');
const findingsList = document.getElementById('findings');
const clearFindingsButton = document.getElementById('clear-findings');
// Fetch and display the number of non-resolvable dead domains found
chrome.storage.local.get(['domains'], ({ domains }) => {
const nonResolvableDomains = Object.keys(domains || {}).map(domainKey => {
const domain = domains[domainKey];
// Only include domains marked as dead
if (domain.dead) {
return {
domain: domainKey,
pageUrl: domain.pageUrl,
sinkElement: domain.sinkElement
};
}
return null; // Filter out non-matching domains
}).filter(Boolean); // Remove any null values
const deadDomainsCount = nonResolvableDomains.length;
domainStats.textContent = `Found ${deadDomainsCount} Dead Domain(s).`;
// Display the findings in the findingsList
findingsList.innerHTML = '';
nonResolvableDomains.forEach(domain => {
const listItem = document.createElement('li');
listItem.textContent = `Domain: ${domain.domain}, URL: ${domain.pageUrl}, Element: ${domain.sinkElement}`;
findingsList.appendChild(listItem);
});
});
// Clear cached domains
clearFindingsButton.addEventListener('click', () => {
chrome.storage.local.remove(['domains'], () => {
domainStats.textContent = 'Found 0 Dead Domains';
findingsList.innerHTML = '';
});
});
});