From 0438cfc97d7933a4cbd5468d6a3bc266d32b5fa8 Mon Sep 17 00:00:00 2001 From: nite Date: Wed, 22 Jul 2026 12:29:01 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=9C=8D=E5=8A=A1=E7=AB=AF=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E6=A0=87=E9=A2=98+=E6=AD=A3=E6=96=87=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9B=BF=E6=8D=A2=E5=90=8E=E6=A0=87=E9=A2=98?= =?UTF-8?q?=E4=B8=A2=E5=A4=B1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 423down-vip.js: 改为移除已有 meta/entry 和付费墙占位,插入服务端完整 HTML - 版本号 1.0.0 → 1.1.0 --- 423down-vip.js | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/423down-vip.js b/423down-vip.js index 63bff84..2674003 100644 --- a/423down-vip.js +++ b/423down-vip.js @@ -8,7 +8,7 @@ // @connect *.nite07.com // @grant GM_xmlhttpRequest // @run-at document-end -// @version 1.0.0 +// @version 1.1.0 // @license MIT // ==/UserScript== @@ -33,22 +33,25 @@ function replaceArticleHTML(articleID) { requestArticleHTML(articleID) .then((html) => { - const articleContainer = document.querySelector( - "div.content > div:first-child", - ); - if (!articleContainer) { + const contentDiv = document.querySelector("div.content"); + if (!contentDiv) { console.warn("[423down-proxy] 未找到正文容器,无法替换 HTML"); return; } - let newDiv = articleContainer.cloneNode(false); - let parentElem = articleContainer.parentElement; - articleContainer.remove(); + // 移除已有的 meta(标题)和 entry(正文),避免重复 + contentDiv + .querySelectorAll("div.meta, div.entry") + .forEach((el) => el.remove()); - newDiv.className = "entry"; - newDiv.style = ""; - newDiv.innerHTML = html; - parentElem.prepend(newDiv); + // 移除第一个子元素(付费墙占位 div,无 class) + const firstChild = contentDiv.firstElementChild; + if (firstChild && firstChild.tagName === "DIV" && !firstChild.className) { + firstChild.remove(); + } + + // 在 content 开头插入服务端返回的完整 HTML(含标题+正文) + contentDiv.insertAdjacentHTML("afterbegin", html); console.info(`[423down-proxy] 已替换文章 ${articleID} 的正文 HTML`); }) .catch((error) => {