-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathmain.js
96 lines (76 loc) · 2.79 KB
/
main.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
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
let loadCustomPage = () => {
var xhr = new XMLHttpRequest();
xhr.open("GET", window.location.href, true);
xhr.onerror = function () {
document.documentElement.innerHTML = "Error getting Page!";
};
xhr.send()
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.documentElement.innerHTML = "Removing the Subscription..."
removeSubscription(this.responseText);
}
else if(this.readyState == 0){
document.documentElement.innerHTML = "Initiating the Request..."
}
else if(this.readyState == 1){
document.documentElement.innerHTML = "Establishing the Server..."
}
else if(this.readyState == 2){
document.documentElement.innerHTML = "Request Recieved..."
}
else if(this.readyState == 3){
document.documentElement.innerHTML = "Processing the Request..."
}
else{
document.documentElement.innerHTML = "Error Finding the Page!"
}
};
}
let removeSubscription = (htmlContentStr)=>{
let wrapper = document.createElement("DIV");
wrapper.innerHTML = htmlContentStr;
let paywalls = wrapper.querySelectorAll(".paywall");
let subscriptions = wrapper.querySelectorAll(".subscription-benefits");
paywalls.forEach((paywall) => {
paywall.remove()
})
subscriptions.forEach((subscription) => {
subscription.remove()
})
document.documentElement.innerHTML = "Removing the Ads..."
removeAds(wrapper.innerHTML)
}
let removeAds = (htmlContentStr) => {
let wrapper = document.createElement("DIV");
wrapper.innerHTML = htmlContentStr;
let adverts = wrapper.querySelectorAll(".advert");
adverts.forEach((advert) => {
advert.remove()
})
wrapper = addExtenCard(wrapper);
putNewPage(wrapper)
}
let addExtenCard = (content)=>{
let card = document.createElement("A");
let desc = document.createElement("DIV");
let author = document.createElement("DIV");
let name = document.createElement("SPAN");
card.classList.add("exten-card");
desc.classList.add("exten-desc");
author.classList.add("exten-auth");
name.classList.add("exten-name");
desc.innerHTML = window.location.href == "https://www.economist.com/" ? "Ads are Removed !!!" : "Page is Unlocked!!!";
author.innerHTML = "By ";
name.innerHTML = "vivek9patel";
card.href = "https://www.linkedin.com/in/vivek9patel/";
card.setAttribute("target", "_blank");
author.appendChild(name);
card.appendChild(desc);
card.appendChild(author);
content.appendChild(card);
return content;
}
let putNewPage = (pageHtml) => document.documentElement.innerHTML = pageHtml.innerHTML;
window.stop();
loadCustomPage();