Warning: fopen(/www/sites/update.greasyfork.icu/index/store/temp/cecea1f788785e0f16d75d49ac9d7070.js): failed to open stream: No space left on device in /www/sites/update.greasyfork.icu/index/scriptControl.php on line 65
// ==UserScript==
// @name Remove All Neat Download Bars (移除NDM的视频下载条)
// @namespace http://tampermonkey.net/
// @version 0.3
// @description 智能移除 Neat Download Manager 的视频下载条
// @author YuoHira
// @match *://*/*
// @grant none
// @license MIT
// @run-at document-start
// @downloadURL https://update.greasyfork.icu/scripts/520049/Remove%20All%20Neat%20Download%20Bars%20%28%E7%A7%BB%E9%99%A4NDM%E7%9A%84%E8%A7%86%E9%A2%91%E4%B8%8B%E8%BD%BD%E6%9D%A1%29.user.js
// @updateURL https://update.greasyfork.icu/scripts/520049/Remove%20All%20Neat%20Download%20Bars%20%28%E7%A7%BB%E9%99%A4NDM%E7%9A%84%E8%A7%86%E9%A2%91%E4%B8%8B%E8%BD%BD%E6%9D%A1%29.meta.js
// ==/UserScript==
(function() {
'use strict';
let isPageLoaded = false;
let frameCheckActive = true;
let lastCheck = 0;
const CHECK_INTERVAL = 5000; // 5秒检查间隔
// 移除所有以 neatDiv 开头的元素
function removeNeatDivs() {
const elements = document.querySelectorAll('[id^="neatDiv"]');
elements.forEach(element => {
element.remove();
});
}
// 每帧检查函数
function frameCheck() {
if (!frameCheckActive) return;
removeNeatDivs();
requestAnimationFrame(frameCheck);
}
// 定期检查函数
function periodicCheck() {
const now = Date.now();
if (now - lastCheck >= CHECK_INTERVAL) {
removeNeatDivs();
lastCheck = now;
}
}
// 创建 MutationObserver 来监视 DOM 变化
const observer = new MutationObserver(function(mutations) {
removeNeatDivs();
});
// 页面加载完成后的处理
function onPageLoad() {
isPageLoaded = true;
frameCheckActive = false; // 停止每帧检查
// 启动 MutationObserver
observer.observe(document.documentElement, {
childList: true,
subtree: true
});
// 设置定期检查
setInterval(periodicCheck, 1000); // 每秒检查一次是否需要执行清理
// 最后执行一次清理
removeNeatDivs();
}
// 添加CSS规则
const style = document.createElement('style');
style.textContent = `
[id^="neatDiv"] {
display: none !important;
opacity: 0 !important;
visibility: hidden !important;
pointer-events: none !important;
position: fixed !important;
z-index: -9999 !important;
width: 0 !important;
height: 0 !important;
overflow: hidden !important;
}
`;
// 确保样式表最早被添加
if (document.head) {
document.head.appendChild(style);
} else {
document.addEventListener('DOMContentLoaded', () => {
document.head.appendChild(style);
});
}
// 启动初始检查
requestAnimationFrame(frameCheck);
// 监听页面加载完成事件
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', onPageLoad);
} else {
onPageLoad();
}
// 添加页面可见性变化监听
document.addEventListener('visibilitychange', () => {
if (!document.hidden && isPageLoaded) {
removeNeatDivs(); // 页面变为可见时检查一次
}
});
})();