您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Blocks toast-ad scripts on TradingView
// ==UserScript== // @name TradingView Toast Ad Blocker // @namespace https://greasyfork.org/tr/users/1461563-mehmet-kutup // @version 1.0 // @description Blocks toast-ad scripts on TradingView // @author Mehmet Kutup // @match *://*.tradingview.com/* // @run-at document-start // @grant none // @license no license // ==/UserScript== (function() { 'use strict'; // toast-ad.* prevention files const observer = new MutationObserver(() => { const scripts = document.querySelectorAll('script[src*="toast-ad"]'); scripts.forEach(script => { if (script.src.includes("https://static.tradingview.com/static/bundles/toast-ad")) { console.log("Blocked toast-ad script:", script.src); script.parentNode.removeChild(script); } }); }); observer.observe(document.documentElement, { childList: true, subtree: true }); // createElement loading prevention const originalCreateElement = document.createElement; document.createElement = function(tagName) { const element = originalCreateElement.call(document, tagName); if (tagName.toLowerCase() === 'script') { Object.defineProperty(element, 'src', { set(value) { if (value.includes("https://static.tradingview.com/static/bundles/toast-ad")) { console.log("Blocked toast-ad script via createElement:", value); return; } element.setAttribute('src', value); }, get() { return element.getAttribute('src'); } }); } return element; }; const checkAd = setInterval(() => { const adBox = document.getElementById('tv-toasts'); if (adBox) { adBox.remove(); console.log('tv-toasts element removed.'); } else { console.log('tv-toasts element not present.'); } }, 5000); })();