Greasy Fork is available in English.
移除博客园和CSDN页面上的动态背景和特效
当前为
// ==UserScript==
// @name 屏蔽博客园和CSDN动态背景
// @namespace https://www.cnblogs.com/
// @version 0.3
// @description 移除博客园和CSDN页面上的动态背景和特效
// @author yakoye
// @match *://*.cnblogs.com/*
// @match https://blog.csdn.net/*
// @grant none
// @license MIT
// ==/UserScript==
(function() {
'use strict';
console.log("Tampermonkey script loaded");
// Function to remove the particle effect scripts and canvases
function removeParticleEffects() {
// Get all script elements
var scripts = document.getElementsByTagName('script');
// Iterate over the script elements
for (var i = 0; i < scripts.length; i++) {
var script = scripts[i];
// Check if the script contains particle effect initialization
if (script.src.includes("particles.min.js") || script.innerHTML.includes("particlesJS")) {
script.remove();
console.log("Removed particle effect script:", script);
}
}
// Remove canvas elements related to particle effects
var canvases = document.getElementsByTagName('canvas');
for (var j = 0; j < canvases.length; j++) {
var canvas = canvases[j];
canvas.remove();
console.log("Removed canvas element:", canvas);
}
}
// Function to remove the dynamic background images on CSDN
function removeCSDNBackground() {
// 图片链接
var blockedImageUrl = 'https://csdnimg.cn/release/blogv2/dist/pc/themesSkin/skin-whitemove/images/bg.gif';
// 获取所有图片元素
var images = document.querySelectorAll('img');
// 遍历图片元素
for (var i = 0; i < images.length; i++) {
var image = images[i];
// 检查图片链接是否与被屏蔽的链接相同
if (image.src === blockedImageUrl) {
// 隐藏图片
image.style.display = 'none';
console.log("Blocked an image with src: " + blockedImageUrl);
}
}
}
// Detect if the site is CSDN or cnblogs and run the respective function
if (window.location.host.indexOf('cnblogs.com') > -1) {
console.log("Running script for cnblogs");
// Run the function to remove particle effects
removeParticleEffects();
// Observe for added scripts dynamically
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if (mutation.addedNodes.length) {
removeParticleEffects();
}
});
});
// Observe changes in the document
observer.observe(document.documentElement, { childList: true, subtree: true });
} else if (window.location.host.indexOf('csdn.net') > -1) {
console.log("Running script for csdn");
// Run the function to remove CSDN background
removeCSDNBackground();
}
})();