aboutsummaryrefslogtreecommitdiffstats
path: root/src/scripts/block-unnecessary.ts
diff options
context:
space:
mode:
authorArpit Chakladar <54011232+arpitchakladar@users.noreply.github.com>2023-02-08 18:51:39 +0530
committerArpit Chakladar <54011232+arpitchakladar@users.noreply.github.com>2023-02-08 18:51:39 +0530
commit915947e3e7ab7c1fa07596ab4b13bf6e1cc50b76 (patch)
tree8e8a7137d2177dc52da83a5af9e8f7b442ed4a71 /src/scripts/block-unnecessary.ts
parent4993aaf41e132dd0805bf6c487901d9f2aecfcfe (diff)
downloadbanglar-bhumi-utils-915947e3e7ab7c1fa07596ab4b13bf6e1cc50b76.tar.gz
banglar-bhumi-utils-915947e3e7ab7c1fa07596ab4b13bf6e1cc50b76.zip
Cleaned code.
Diffstat (limited to 'src/scripts/block-unnecessary.ts')
-rw-r--r--src/scripts/block-unnecessary.ts35
1 files changed, 21 insertions, 14 deletions
diff --git a/src/scripts/block-unnecessary.ts b/src/scripts/block-unnecessary.ts
index 4163778..bec90a5 100644
--- a/src/scripts/block-unnecessary.ts
+++ b/src/scripts/block-unnecessary.ts
@@ -1,23 +1,30 @@
-type ConditionalString = string | undefined;
-let blocked: ConditionalString[] = [
- "head > script:nth-child(34)",
- "head > script:nth-child(43)"
+let replace: (any[] | undefined)[] = [
+ ["head > script:nth-child(34)", { src: "" }],
+ ["head > script:nth-child(35)", { src: "https://code.jquery.com/jquery-1.12.4.min.js", crossorigin: "anonymous" }],
+ ["head > script:nth-child(43)", { src: "" }]
];
let count = 0;
+let notDone = false;
-const observer = new MutationObserver(mutations => {
- for (let i = 0; i < blocked.length; i++) {
- if (blocked[i]) {
- const element = document.querySelector(blocked[i]!) as HTMLElement | null;
+const observer = new MutationObserver(() => {
+ if (notDone) {
+ const meta = document.querySelector("head > meta:nth-child(2)");
+ if (meta) {
+ meta.setAttribute("http-equiv", "Content-Security-Policy");
+ meta.setAttribute("content", "default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *");
+ }
+ }
+ for (let i = 0; i < replace.length; i++) {
+ if (replace[i]) {
+ const element = document.querySelector(replace[i]![0]) as HTMLElement | null;
if (element) {
- if (element instanceof HTMLScriptElement) {
- element.src = "";
- } else if (element instanceof HTMLLinkElement && element.getAttribute("rel") === "stylesheet") {
- element.href = "";
+ const attributes = replace[i]![1];
+ for (const attribute in attributes) {
+ element.setAttribute(attribute, attributes[attribute]);
}
- blocked[i] = undefined;
+ replace[i] = undefined;
count++;
- if (count >= blocked.length) {
+ if (count >= replace.length) {
observer.disconnect();
break;
}