diff --git a/README.md b/README.md
index 12143f3..e7d9123 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@ https://github.com/027xiguapi/code-box
博客网站在未登录状态下无法复制代码,使用这个插件,无需登录可以一键复制代码。
-还支持解除`关注博主即可阅读全文`的提示,隐藏登陆弹窗。
+还支持解除`关注博主即可阅读全文`的提示,隐藏登录弹窗。
完整分析:[谷歌插件:无需登录一键复制 CSDN 代码](https://lwebapp.com/zh/post/copy-csdn)
@@ -47,7 +47,7 @@ https://github.com/027xiguapi/code-box
1. 打开任意一个`CSDN`博客即可开始复制代码
2. 未登录`CSDN`状态下,支持选中代码
3. 未登录`CSDN`状态下,代码右上角按钮一键复制
-4. 未登录`CSDN`状态下,不会再出现强制登陆弹窗
+4. 未登录`CSDN`状态下,不会再出现强制登录弹窗
5. 未关注博主状态下,不再提示关注博主即可阅读全文,且完整展示文章
6. 自动展开代码块
7. 移动端屏蔽跳转APP
diff --git a/component/csdn.tsx b/component/csdn.tsx
index 2dc76a2..15e9343 100644
--- a/component/csdn.tsx
+++ b/component/csdn.tsx
@@ -19,6 +19,11 @@ export default function Csdn() {
(v) => (v === undefined ? true : v)
)
+ const [closeRedirectModal, setCloseRedirectModal] = useStorage(
+ "csdn-closeLoginModal",
+ (v) => (v === undefined ? true : v)
+ )
+
return (
)
diff --git a/contents/csdn.tsx b/contents/csdn.tsx
index 8fa06d3..878e153 100644
--- a/contents/csdn.tsx
+++ b/contents/csdn.tsx
@@ -3,6 +3,8 @@ import { useEffect, useRef } from "react"
import { useStorage } from "@plasmohq/storage/hook"
+import { addCss } from "~tools"
+
export const config: PlasmoCSConfig = {
matches: ["https://*.blog.csdn.net/*"]
}
@@ -17,36 +19,35 @@ const csdn = () => {
const [closeFollow] = useStorage("csdn-closeFollow")
const [autoOpenCode] = useStorage("csdn-autoOpenCode")
const [closeLoginModal] = useStorage("csdn-closeLoginModal")
+ const [closeRedirectModal] = useStorage("csdn-closeLoginModal")
useEffect(() => {
- console.log("CSDN closeAds", closeAds)
+ console.log("CSDN status", {
+ closeAds,
+ copyCode,
+ autoOpenCode,
+ closeFollow,
+ closeLoginModal,
+ closeRedirectModal
+ })
closeAds && closeAdsFunc()
- }, [closeAds])
-
- useEffect(() => {
- console.log("CSDN copyCode", copyCode)
copyCode && copyCodeFunc()
- }, [copyCode])
-
- useEffect(() => {
- console.log("CSDN autoOpenCode", autoOpenCode)
autoOpenCode && autoOpenCodeFunc()
- }, [autoOpenCode])
-
- useEffect(() => {
- console.log("CSDN closeFollow", closeFollow)
closeFollow && followFunc()
- }, [closeFollow])
-
- useEffect(() => {
- console.log("CSDN closeLoginModal", closeLoginModal)
closeLoginModal && closeLoginModalFunc()
- }, [closeLoginModal])
+ closeRedirectModal && closeRedirectModalFunc()
+ }, [
+ closeAds,
+ copyCode,
+ autoOpenCode,
+ closeFollow,
+ closeLoginModal,
+ closeRedirectModal
+ ])
/* 未登录复制代码 */
function copyCodeCssFunc() {
- let style = document.createElement("style")
- const css = document.createTextNode(`
+ const css = `
#content_views pre,
#content_views pre code {
-webkit-touch-callout: auto !important;
@@ -55,9 +56,8 @@ const csdn = () => {
-moz-user-select: auto !important;
-ms-user-select: auto !important;
user-select: auto !important;
- }`)
- style.appendChild(css)
- document.head.appendChild(style)
+ }`
+ addCss(css)
}
function copyCodeFunc() {
@@ -103,43 +103,36 @@ const csdn = () => {
// 关闭广告
function closeAdsFunc() {
- const style = document.createElement("style")
- const css = document.createTextNode(`
+ const css = `
.toolbar-advert,
#recommendAdBox,
.adsbygoogle {
display:none !important;
- }`)
- style.appendChild(css)
- document.head.appendChild(style)
+ }`
}
// 解除 关注博主即可阅读全文的提示
const followFunc = () => {
const readMore = document.querySelector(".btn-readmore")
- const style = document.createElement("style")
- const css = document.createTextNode(`
- #article_content{
- height: auto !important;
- }
- .hide-article-box {
- z-index: -1 !important;
- }`)
if (readMore) {
- style.appendChild(css)
- document.head.appendChild(style)
+ const css = `
+ #article_content{
+ height: auto !important;
+ }
+ .hide-article-box {
+ z-index: -1 !important;
+ }`
+ addCss(css)
}
}
- // 隐藏登陆弹窗
+ // 隐藏登录弹窗
function closeLoginModalFunc() {
- const style = document.createElement("style")
- const css = document.createTextNode(`
+ const css = `
.passport-login-container {
display:none !important;
- }`)
- style.appendChild(css)
- document.head.appendChild(style)
+ }`
+ addCss(css)
}
// 自动展开代码块
@@ -153,6 +146,8 @@ const csdn = () => {
document.querySelectorAll(".hide-preCode-box")
)
+ const readallBox = document.querySelector(".readall_box")
+
pres.forEach((pre) => {
pre.style.height = "unset"
pre.style.maxHeight = "unset"
@@ -160,6 +155,25 @@ const csdn = () => {
presBox.forEach((box) => {
box.style.display = "none"
})
+
+ if (readallBox) {
+ const articleContent =
+ document.querySelector(".article_content")
+
+ articleContent.style.height = "unset"
+ readallBox.style.display = "none"
+ }
+ }
+
+ // 隐藏移动端跳转APP弹窗
+ function closeRedirectModalFunc() {
+ const css = `
+ .ios-shadowbox,
+ .feed-Sign-weixin,
+ .weixin-shadowbox {
+ display:none !important;
+ }`
+ addCss(css)
}
return
diff --git a/contents/zhihu.tsx b/contents/zhihu.tsx
index 20e4203..6411f25 100644
--- a/contents/zhihu.tsx
+++ b/contents/zhihu.tsx
@@ -70,7 +70,7 @@ export default function zhihu() {
})
}
- // 隐藏登陆弹窗
+ // 隐藏登录弹窗
function closeLoginModalFunc() {
addCss(`
.Modal-wrapper--transparent,
diff --git a/package.json b/package.json
index 454ddb6..9964a25 100644
--- a/package.json
+++ b/package.json
@@ -1,8 +1,8 @@
{
"name": "code-box",
"displayName": "codebox-免登录复制代码(CSDN/知乎/脚本之家/博客园)",
- "version": "0.0.5",
- "description": "本插件可以用于CSDN/知乎/脚本之家/博客园等网站,实现无需登录一键复制代码;支持选中代码;或者代码右上角按钮的一键复制;解除关注博主即可阅读全文提示;去除登陆弹窗.",
+ "version": "0.0.6",
+ "description": "本插件可以用于CSDN/知乎/脚本之家/博客园等网站,实现无需登录一键复制代码;支持选中代码;或者代码右上角按钮的一键复制;解除关注博主即可阅读全文提示;去除登录弹窗;去除跳转APP弹窗.",
"author": "027xiguapi. <458813868@qq.com>",
"scripts": {
"dev": "plasmo dev",