From aee5fdfba4bc2ea4b769d21d7a0e2c60973d1787 Mon Sep 17 00:00:00 2001 From: wanhose Date: Sun, 4 Aug 2024 09:22:28 +0200 Subject: [PATCH] fix(browser-extension): issue #703 --- .../browser-extension/src/scripts/content.js | 31 +++++++------------ 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/packages/browser-extension/src/scripts/content.js b/packages/browser-extension/src/scripts/content.js index bff4e0e..40063b9 100644 --- a/packages/browser-extension/src/scripts/content.js +++ b/packages/browser-extension/src/scripts/content.js @@ -320,19 +320,6 @@ function fix() { } } -/** - * @description Calculate reading time for the current page to avoid lags in large pages - * @returns {number} - */ -function readingTime() { - const text = document.body.innerText; - const wpm = 225; - const words = text.trim().split(/\s+/).length; - const time = Math.ceil(words / wpm); - - return time; -} - /** * @description Restore DOM to its previous state * @returns {void} @@ -468,12 +455,18 @@ window.addEventListener(triggerEventName, (event) => { if (event.detail?.elements) { clean(event.detail.elements, event.detail.skipMatch); } else { - if (readingTime() < 4) { - forceClean(document.body); - } else { - // 2023-06-13: look into the first level of the document body, there are dialogs there very often - clean([...document.body.children]); - } + // 2024-08-03: look into the first level of important nodes, there are dialogs there very often + clean([ + ...document.body.children, + ...Array.from(document.getElementsByClassName('container')[0]?.children ?? []), + ...Array.from(document.getElementsByClassName('layout')[0]?.children ?? []), + ...Array.from(document.getElementsByClassName('page')[0]?.children ?? []), + ...Array.from(document.getElementsByClassName('wrapper')[0]?.children ?? []), + ...Array.from(document.getElementById('__next')?.children ?? []), + ...Array.from(document.getElementById('app')?.children ?? []), + ...Array.from(document.getElementById('main')?.children ?? []), + ...Array.from(document.getElementById('root')?.children ?? []), + ]); } } });