diff options
| author | Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> | 2023-02-08 18:51:39 +0530 |
|---|---|---|
| committer | Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> | 2023-02-08 18:51:39 +0530 |
| commit | 915947e3e7ab7c1fa07596ab4b13bf6e1cc50b76 (patch) | |
| tree | 8e8a7137d2177dc52da83a5af9e8f7b442ed4a71 /src/scripts | |
| parent | 4993aaf41e132dd0805bf6c487901d9f2aecfcfe (diff) | |
| download | banglar-bhumi-utils-915947e3e7ab7c1fa07596ab4b13bf6e1cc50b76.tar.gz banglar-bhumi-utils-915947e3e7ab7c1fa07596ab4b13bf6e1cc50b76.zip | |
Cleaned code.
Diffstat (limited to 'src/scripts')
| -rw-r--r-- | src/scripts/block-unnecessary.ts | 35 |
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; } |
