From 1bcb2ebc86be88ce836fca27767008f66efe4ff8 Mon Sep 17 00:00:00 2001 From: magnolia1234 <7676006-magnolia1234@users.noreply.gitlab.com> Date: Mon, 13 Dec 2021 20:30:25 +0100 Subject: [PATCH] Fix Bloomberg (permission block js) --- changelog.txt | 1 + contentScript.js | 94 ++++++++++++++++++++++-------------------------- manifest.json | 3 +- 3 files changed, 45 insertions(+), 53 deletions(-) diff --git a/changelog.txt b/changelog.txt index 12b3e9b..e37cae5 100644 --- a/changelog.txt +++ b/changelog.txt @@ -2,6 +2,7 @@ Changelog Bypass Paywalls Clean - Firefox Post-release +Fix Bloomberg (permission block js) * v2.4.7.0 (2021-12-12) Add Koelner Stadt-Anzeiger & Koelnische Rundschau diff --git a/contentScript.js b/contentScript.js index 6b77915..3f65414 100644 --- a/contentScript.js +++ b/contentScript.js @@ -1714,28 +1714,16 @@ else if (matchDomain('billboard.com')) { } else if (matchDomain('bloomberg.com')) { - function bloomberg_noscroll(node) { - node.removeAttribute('data-paywall-overlay-status'); - } - waitDOMElement('div#fortress-paywall-container-root', 'DIV', removeDOMElement, true); - waitDOMAttribute('body', 'BODY', 'data-paywall-overlay-status', bloomberg_noscroll, true); sessionStorage.clear(); - let paywall = document.querySelector('div#fortress-paywall-container-root'); - let counter = document.querySelector('div#fortress-preblocked-container-root'); - let noscroll = document.querySelector('body[data-paywall-overlay-status]'); - if (noscroll) - noscroll.removeAttribute('data-paywall-overlay-status'); - removeDOMElement(paywall, counter); let url = window.location.href; if (url.match(/\/(articles|features)\//)) { let leaderboard = document.querySelector('div[id^="leaderboard"], div.leaderboard-wrapper'); - let shimmering_content = document.querySelectorAll('div[class^="shimmering-"]'); let page_ad = document.querySelectorAll('div.page-ad, div[data-ad-placeholder]'); let reg_ui_client = document.querySelector('div#reg-ui-client'); - removeDOMElement(leaderboard, ...shimmering_content, ...page_ad, reg_ui_client); + removeDOMElement(leaderboard, ...page_ad, reg_ui_client); let hidden_images = document.querySelectorAll('img.lazy-img__image[src][data-native-src]'); for (let hidden_image of hidden_images) { - if (hidden_image.src.match(/\/60x-1\.(png|jpg)$/)) + if (hidden_image.src.match(/\/(60|150)x-1\.(png|jpg)$/)) hidden_image.setAttribute('src', hidden_image.getAttribute('data-native-src')); hidden_image.style.filter = 'none'; } @@ -1755,38 +1743,46 @@ else if (matchDomain('bloomberg.com')) { blur.classList.remove('blur'); blur.removeAttribute('style'); } - let json_script = document.querySelector('script[data-component-props="ArticleBody"], script[data-component-props="FeatureBody"]'); - if (json_script && dompurify_loaded) { - let json = JSON.parse(json_script.innerHTML); - if (json) { - let json_text; - json_text = json.body ? json.body : ''; - if (!json_text) - json_text = json.story.body ? json.story.body : ''; - if (json_text) { - removeDOMElement(json_script); - let article = document.querySelector('div.body-copy-v2:not(.art_done)'); - let article_class = 'body-copy-v2'; - if (!article) { - article = document.querySelector('div.body-copy:not(.art_done)'); - article_class = 'body-copy'; - } - if (!article) { - article = document.querySelector('div.body-content:not(.art_done)'); - article_class = 'body-content'; - } - if (article) { - article_class += ' art_done'; - let parser = new DOMParser(); - let doc = parser.parseFromString('