专栏文章
神秘脚本
休闲·娱乐参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @minfj7hm
- 此快照首次捕获于
- 2025/12/02 01:35 3 个月前
- 此快照最后确认于
- 2025/12/02 01:35 3 个月前
JS
// ==UserScript==
// @name CCF文本替换器
// @namespace http://tampermonkey.net/
// @version 1.3
// @description 替换CCF和中国计算机学会文本
// @author You
// @match *://*/*
// @grant none
// @run-at document-end
// ==/UserScript==
(function() {
'use strict';
const replacementRules = [
{ pattern: /中国计算机学会/g, replacement: '货币收藏基金会' },
{ pattern: /CCF/g, replacement: '€€£' }
];
function performTextReplacement() {
const walker = document.createTreeWalker(
document.body,
NodeFilter.SHOW_TEXT,
{
acceptNode: function(node) {
if (node.parentNode.nodeName === 'SCRIPT' ||
node.parentNode.nodeName === 'STYLE' ||
node.parentNode.nodeName === 'TEXTAREA') {
return NodeFilter.FILTER_REJECT;
}
return NodeFilter.FILTER_ACCEPT;
}
},
false
);
let modifiedNodes = 0;
let node;
while (node = walker.nextNode()) {
let originalText = node.textContent;
let replacedText = originalText;
for (const rule of replacementRules) {
replacedText = replacedText.replace(rule.pattern, rule.replacement);
}
if (replacedText !== originalText) {
node.textContent = replacedText;
modifiedNodes++;
}
}
if (modifiedNodes > 0) {
console.log(`CCF替换器: 成功替换了 ${modifiedNodes} 个文本节点`);
}
}
function initializeReplacement() {
performTextReplacement();
const observer = new MutationObserver(function(mutations) {
let shouldReplace = false;
for (let mutation of mutations) {
if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {
shouldReplace = true;
break;
}
}
if (shouldReplace) {
clearTimeout(window.ccfReplacementTimeout);
window.ccfReplacementTimeout = setTimeout(performTextReplacement, 100);
}
});
observer.observe(document.body, {
childList: true,
subtree: true,
characterData: true
});
let lastUrl = location.href;
new MutationObserver(() => {
const url = location.href;
if (url !== lastUrl) {
lastUrl = url;
setTimeout(performTextReplacement, 500);
}
}).observe(document, { subtree: true, childList: true });
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initializeReplacement);
} else {
initializeReplacement();
}
})();
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...