-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
103 lines (88 loc) · 2.3 KB
/
Copy pathscript.js
File metadata and controls
103 lines (88 loc) · 2.3 KB
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
inp=document.getElementById("ex")
btn = document.getElementById("done")
list = document.getElementById("mylist")
clear = document.getElementById("clear")
let sites = []
function clear_sites(){
sites=[]
updateDOM()
update_sites()
sync()
}
function add_site(){
let val = inp.value
sites.push(val)
sync()
update_sites()
updateDOM()
inp.value=""
}
function remove_site(){
}
function update_sites(){
if(sites.length!=0){
chrome.declarativeNetRequest.updateDynamicRules({
addRules : [
{
"id": 1,
"priority": 1,
"action": {
"type": "block",
},
"condition": {
"resourceTypes": ["main_frame"],
"requestDomains": sites
}
}
],
removeRuleIds : [1]
})
}
else{
chrome.declarativeNetRequest.updateDynamicRules({
addRules : [
{
"id": 1,
"priority": 1,
"action": {
"type": "allow",
},
"condition": {
"resourceTypes": ["main_frame"]
}
}
],
removeRuleIds : [1]
})
}
}
function sync(){
localStorage.setItem("blocked", sites.join(";"))
}
function updateDOM(){
list.innerHTML=""
for(s of sites){
li=document.createElement("li")
li.classList.add("list-group-item" ,"d-flex", "justify-content-between","bg-secondary","bg-gradient", "text-white", "p-2", "my-1")
li.innerHTML=
`<div>${s}</div>
<button class="btn btn-danger btn-sm">Unblock</button>`
li.addEventListener('click', function(e){
sites.splice(sites.indexOf(e.target.value))
update_sites()
sync()
updateDOM()
})
list.appendChild(li)
}
}
function init(){
btn.addEventListener('click', add_site)
clear.addEventListener('click', clear_sites)
temp = localStorage.getItem("blocked")
if(temp){
sites=temp.split(";")
}
updateDOM();
}
init()