Skip to content

Commit

Permalink
🦄 refactor(根据Utils库重写waitNode、waitNodeWithInterval、waitNodeList、waitA…
Browse files Browse the repository at this point in the history
…nyNodeList方法):
  • Loading branch information
WhiteSevs committed May 30, 2024
1 parent 3502f43 commit 80b9efd
Show file tree
Hide file tree
Showing 67 changed files with 2,178 additions and 1,973 deletions.
4 changes: 2 additions & 2 deletions packages/CSDN优化/SCRIPT_VERSION.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"time": 1716968232998,
"version": "2024.5.29.15"
"time": 1717045301476,
"version": "2024.5.30.13"
}
6 changes: 3 additions & 3 deletions packages/CSDN优化/dist/CSDN优化.min.user.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// ==UserScript==
// @name CSDN优化
// @namespace https://github.com/WhiteSevs/TamperMonkeyScript
// @version 2024.5.29.15
// @version 2024.5.30.13
// @author WhiteSevs
// @description 支持手机端和PC端,屏蔽广告,优化浏览体验,自动跳转拦截的URL
// @license GPL-3.0-only
Expand All @@ -11,7 +11,7 @@
// @require https://update.greasyfork.org/scripts/494167/1376186/CoverUMD.js
// @require https://update.greasyfork.org/scripts/456485/1384984/pops.js
// @require https://cdn.jsdelivr.net/npm/qmsg@1.1.0/dist/index.umd.js
// @require https://cdn.jsdelivr.net/npm/@whitesev/utils@1.2.2/dist/index.umd.js
// @require https://cdn.jsdelivr.net/npm/@whitesev/utils@1.3.0/dist/index.umd.js
// @require https://cdn.jsdelivr.net/npm/@whitesev/domutils@1.1.0/dist/index.umd.js
// @grant GM_addStyle
// @grant GM_deleteValue
Expand Down Expand Up @@ -363,7 +363,7 @@ div.ios-shadowbox {\r
height: 1.58rem;\r
/*margin-left: .16rem*/\r
}\r
`;function S(e=""){d.waitNodeList(e).then(()=>{document.querySelectorAll(e).forEach(t=>{t.remove();});});}const ve={init(){this.addCSS(),i.execMenu("m-csdn-blog-shieldTopToolbar",()=>{this.shieldTopToolbar();}),i.execMenu("m-csdn-blog-notLimitCodePreMaxHeight",()=>{this.notLimitCodePreMaxHeight();}),i.execMenu("m-csdn-blog-notLimitCommentMaxHeight",()=>{this.notLimitCommentMaxHeight();}),i.execMenu("m-csdn-blog-allowSelectText",()=>{this.allowSelectText();}),i.execMenu("m-csdn-blog-autoExpandContent",()=>{this.autoExpandContent();}),i.execMenu("m-csdn-blog-blockBottomArticle",()=>{this.blockBottomArticle();}),i.execMenu("m-csdn-blog-blockComment",()=>{this.blockComment();}),v.ready(()=>{i.execMenu("m-csdn-blog-removeAds",()=>{this.removeAds();}),i.execMenu("m-csdn-blog-refactoringRecommendation",()=>{this.refactoringRecommendation();}),i.execMenu("m-csdn-blog-unBlockCopy",()=>{W.unBlockCopy();});});},addCSS(){a(we),a(Ce);},shieldTopToolbar(){o.success("屏蔽顶部Toolbar"),a(`
`;function S(e=""){d.waitNodeList(e).then(t=>{t.forEach(n=>n.remove());});}const ve={init(){this.addCSS(),i.execMenu("m-csdn-blog-shieldTopToolbar",()=>{this.shieldTopToolbar();}),i.execMenu("m-csdn-blog-notLimitCodePreMaxHeight",()=>{this.notLimitCodePreMaxHeight();}),i.execMenu("m-csdn-blog-notLimitCommentMaxHeight",()=>{this.notLimitCommentMaxHeight();}),i.execMenu("m-csdn-blog-allowSelectText",()=>{this.allowSelectText();}),i.execMenu("m-csdn-blog-autoExpandContent",()=>{this.autoExpandContent();}),i.execMenu("m-csdn-blog-blockBottomArticle",()=>{this.blockBottomArticle();}),i.execMenu("m-csdn-blog-blockComment",()=>{this.blockComment();}),v.ready(()=>{i.execMenu("m-csdn-blog-removeAds",()=>{this.removeAds();}),i.execMenu("m-csdn-blog-refactoringRecommendation",()=>{this.refactoringRecommendation();}),i.execMenu("m-csdn-blog-unBlockCopy",()=>{W.unBlockCopy();});});},addCSS(){a(we),a(Ce);},shieldTopToolbar(){o.success("屏蔽顶部Toolbar"),a(`
#csdn-toolbar{
display: none !important;
}
Expand Down
32 changes: 18 additions & 14 deletions packages/CSDN优化/dist/CSDN优化.user.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// ==UserScript==
// @name CSDN优化
// @namespace https://github.com/WhiteSevs/TamperMonkeyScript
// @version 2024.5.29.15
// @version 2024.5.30.13
// @author WhiteSevs
// @description 支持手机端和PC端,屏蔽广告,优化浏览体验,自动跳转拦截的URL
// @license GPL-3.0-only
Expand All @@ -11,7 +11,7 @@
// @require https://update.greasyfork.org/scripts/494167/1376186/CoverUMD.js
// @require https://update.greasyfork.org/scripts/456485/1384984/pops.js
// @require https://cdn.jsdelivr.net/npm/qmsg@1.1.0/dist/index.umd.js
// @require https://cdn.jsdelivr.net/npm/@whitesev/utils@1.2.2/dist/index.umd.js
// @require https://cdn.jsdelivr.net/npm/@whitesev/utils@1.3.0/dist/index.umd.js
// @require https://cdn.jsdelivr.net/npm/@whitesev/domutils@1.1.0/dist/index.umd.js
// @grant GM_addStyle
// @grant GM_cookie
Expand Down Expand Up @@ -1278,8 +1278,8 @@
left: unset !important;
}
`);
utils.waitNode(".csdn-side-toolbar").then((element) => {
domutils.css(element, {
utils.waitNode(".csdn-side-toolbar").then(($sideToolbar) => {
domutils.css($sideToolbar, {
top: parseInt(PopsPanel.getValue("csdn-blog-rightToolbarTopOffset")) + "px",
right: parseInt(PopsPanel.getValue("csdn-blog-rightToolbarRightOffset")) + "px"
});
Expand Down Expand Up @@ -1467,10 +1467,10 @@
capture: true
}
);
utils.waitNode("#content_views").then((element) => {
utils.waitNode("#content_views").then(($content_views) => {
var _a2;
(_a2 = _unsafeWindow.$("#content_views")) == null ? void 0 : _a2.unbind("copy");
element.addEventListener("copy", function(event) {
$content_views.addEventListener("copy", function(event) {
var _a3;
utils.preventEvent(event);
let selectText = (_a3 = _unsafeWindow.getSelection()) == null ? void 0 : _a3.toString();
Expand Down Expand Up @@ -1508,18 +1508,24 @@
*/
restoreComments() {
log.info("恢复评论到正确位置-第一条评论");
utils.waitNode(".first-recommend-box").then((element) => {
utils.waitNode(".first-recommend-box").then(($firstRecommendBox) => {
let recommendBoxElement = document.querySelector(
".recommend-box.insert-baidu-box.recommend-box-style"
);
recommendBoxElement.insertBefore(element, recommendBoxElement.firstChild);
recommendBoxElement.insertBefore(
$firstRecommendBox,
recommendBoxElement.firstChild
);
});
log.info("恢复评论到正确位置-第二条评论");
utils.waitNode(".second-recommend-box").then((element) => {
utils.waitNode(".second-recommend-box").then(($secondRecommendBox) => {
let recommendBoxElement = document.querySelector(
".recommend-box.insert-baidu-box.recommend-box-style"
);
recommendBoxElement.insertBefore(element, recommendBoxElement.firstChild);
recommendBoxElement.insertBefore(
$secondRecommendBox,
recommendBoxElement.firstChild
);
});
},
/**
Expand Down Expand Up @@ -1713,10 +1719,8 @@
const ShieldCSS$1 = "#operate,.feed-Sign-span,\r\n.view_comment_box,\r\n.weixin-shadowbox.wap-shadowbox,\r\n.feed-Sign-span,\r\n.user-desc.user-desc-fix,\r\n.comment_read_more_box,\r\n#content_views pre.set-code-hide .hide-preCode-box,\r\n/* 登录弹窗 */\r\n.passport-login-container,\r\n.hljs-button[data-title='登录后复制'],\r\n.article-show-more,\r\n#treeSkill,\r\ndiv.btn_open_app_prompt_div,\r\ndiv.readall_box,\r\ndiv.aside-header-fixed,\r\ndiv.feed-Sign-weixin,\r\ndiv.ios-shadowbox {\r\n display: none !important;\r\n}\r\n";
const MBlogCSS = "#mainBox {\r\n width: auto;\r\n}\r\n.user-desc.user-desc-fix {\r\n height: auto !important;\r\n overflow: auto !important;\r\n}\r\n.component-box .praise {\r\n background: #ff5722;\r\n border-radius: 5px;\r\n padding: 0px 8px;\r\n height: auto;\r\n}\r\n.component-box .praise,\r\n.component-box .share {\r\n color: #fff;\r\n}\r\n.component-box a {\r\n display: inline-block;\r\n font-size: xx-small;\r\n}\r\n.component-box {\r\n display: inline;\r\n margin: 0;\r\n position: relative;\r\n white-space: nowrap;\r\n}\r\n.csdn-edu-title {\r\n background: #4d6de1;\r\n border-radius: 5px;\r\n padding: 0px 8px;\r\n height: auto;\r\n color: #fff !important;\r\n}\r\n\r\n.GM-csdn-dl {\r\n padding: 0.24rem 0.32rem;\r\n width: 100%;\r\n justify-content: space-between;\r\n -webkit-box-pack: justify;\r\n border-bottom: 1px solid #f5f6f7 !important;\r\n}\r\n.GM-csdn-title {\r\n font-size: 0.3rem;\r\n color: #222226;\r\n letter-spacing: 0;\r\n line-height: 0.44rem;\r\n font-weight: 600;\r\n /*max-height: .88rem;*/\r\n word-break: break-all;\r\n overflow: hidden;\r\n display: -webkit-box;\r\n -webkit-box-orient: vertical;\r\n -webkit-line-clamp: 2;\r\n}\r\n.GM-csdn-title a {\r\n word-break: break-all;\r\n color: #222226;\r\n font-weight: 600;\r\n}\r\n.GM-csdn-title em,\r\n.GM-csdn-content em {\r\n font-style: normal;\r\n color: #fc5531;\r\n}\r\n.GM-csdn-content {\r\n /*max-width: 5.58rem;*/\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n display: -webkit-box;\r\n -webkit-line-clamp: 1;\r\n -webkit-box-orient: vertical;\r\n color: #555666;\r\n font-size: 0.24rem;\r\n line-height: 0.34rem;\r\n max-height: 0.34rem;\r\n word-break: break-all;\r\n -webkit-box-flex: 1;\r\n -ms-flex: 1;\r\n flex: 1;\r\n margin-top: 0.16rem;\r\n}\r\n.GM-csdn-img img {\r\n width: 2.18rem;\r\n height: 1.58rem;\r\n /*margin-left: .16rem*/\r\n}\r\n";
function waitForElementToRemove(selectorText = "") {
utils.waitNodeList(selectorText).then(() => {
document.querySelectorAll(selectorText).forEach((item) => {
item.remove();
});
utils.waitNodeList(selectorText).then((nodeList) => {
nodeList.forEach((item) => item.remove());
});
}
const M_CSDNBlog = {
Expand Down
6 changes: 3 additions & 3 deletions packages/CSDN优化/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@
},
"dependencies": {
"@whitesev/domutils": "^1.1.0",
"@whitesev/utils": "^1.2.2",
"@whitesev/utils": "^1.3.0",
"qmsg": "^1.1.0"
},
"devDependencies": {
"@types/node": "^20.12.12",
"@types/node": "^20.12.13",
"typescript": "^5.4.5",
"vite": "^5.2.12",
"vite-plugin-monkey": "4.0.0-alpha.1"
"vite-plugin-monkey": "4.0.0"
}
}
18 changes: 12 additions & 6 deletions packages/CSDN优化/src/main/blog/CSDNBlog.ts
Original file line number Diff line number Diff line change
Expand Up @@ -143,9 +143,9 @@ const CSDNBlog = {
}
);
/* 取消Ctrl+C的禁止 */
utils.waitNode("#content_views").then((element) => {
utils.waitNode("#content_views").then(($content_views) => {
(unsafeWindow as any).$("#content_views")?.unbind("copy");
element.addEventListener("copy", function (event) {
$content_views.addEventListener("copy", function (event) {
utils.preventEvent(event);
let selectText = unsafeWindow.getSelection()?.toString();
utils.setClip(selectText);
Expand Down Expand Up @@ -183,19 +183,25 @@ const CSDNBlog = {
restoreComments() {
/* 第一条评论 */
log.info("恢复评论到正确位置-第一条评论");
utils.waitNode(".first-recommend-box").then((element) => {
utils.waitNode(".first-recommend-box").then(($firstRecommendBox) => {
let recommendBoxElement = document.querySelector(
".recommend-box.insert-baidu-box.recommend-box-style"
) as HTMLDivElement;
recommendBoxElement.insertBefore(element, recommendBoxElement.firstChild);
recommendBoxElement.insertBefore(
$firstRecommendBox,
recommendBoxElement.firstChild
);
});
log.info("恢复评论到正确位置-第二条评论");
/* 第二条评论 */
utils.waitNode(".second-recommend-box").then((element) => {
utils.waitNode(".second-recommend-box").then(($secondRecommendBox) => {
let recommendBoxElement = document.querySelector(
".recommend-box.insert-baidu-box.recommend-box-style"
) as HTMLDivElement;
recommendBoxElement.insertBefore(element, recommendBoxElement.firstChild);
recommendBoxElement.insertBefore(
$secondRecommendBox,
recommendBoxElement.firstChild
);
});
},
/**
Expand Down
20 changes: 11 additions & 9 deletions packages/CSDN优化/src/main/blog/CSDNBlogRightToolBar.ts
Original file line number Diff line number Diff line change
Expand Up @@ -93,16 +93,18 @@ const CSDNBlogRightToolBar = {
left: unset !important;
}
`);
utils.waitNode(".csdn-side-toolbar").then((element) => {
DOMUtils.css(element, {
top:
parseInt(PopsPanel.getValue("csdn-blog-rightToolbarTopOffset")) +
"px",
right:
parseInt(PopsPanel.getValue("csdn-blog-rightToolbarRightOffset")) +
"px",
utils
.waitNode<HTMLDivElement>(".csdn-side-toolbar")
.then(($sideToolbar) => {
DOMUtils.css($sideToolbar, {
top:
parseInt(PopsPanel.getValue("csdn-blog-rightToolbarTopOffset")) +
"px",
right:
parseInt(PopsPanel.getValue("csdn-blog-rightToolbarRightOffset")) +
"px",
});
});
});
},
/**
* 【屏蔽】创作中心
Expand Down
10 changes: 4 additions & 6 deletions packages/CSDN优化/src/utils/CSDNUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@ import { utils } from "@/env";
* @param selectorText 元素选择器
*/
export function waitForElementToRemove(selectorText = "") {
utils.waitNodeList<HTMLElement>(selectorText).then(() => {
document.querySelectorAll(selectorText).forEach((item) => {
item.remove();
});
});
};
utils.waitNodeList<NodeListOf<HTMLElement>>(selectorText).then((nodeList) => {
nodeList.forEach((item) => item.remove());
});
}
4 changes: 2 additions & 2 deletions packages/GreasyFork优化/SCRIPT_VERSION.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"time": 1716963437160,
"version": "2024.5.29.14"
"time": 1717045599507,
"version": "2024.5.30"
}
Loading

0 comments on commit 80b9efd

Please sign in to comment.