您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
过滤广告 on www.iyf.com
当前为
// ==UserScript== // @name IYF Ad Blocker // @name:zh-CN IYF Ad Blocker on www.iyf.com // @namespace http://tampermonkey.net/ // @version 0.1.2 // @description Filter ads on www.iyf.com // @description:zh-CN 过滤广告 on www.iyf.com // @author Dylan Zhang // @include https://www.iyf.tv/* // @include https://www.iyf.tv/play/* // @include https://www.iyf.tv/watch/* // @icon https://www.google.com/s2/favicons?sz=64&domain=iyf.tv // @license MIT // @grant GM_addStyle // ==/UserScript== (function() { 'use strict'; // variables const win = unsafeWindow let homePageStyle let playPageStyle /* utilities */ function $(selector) { return document.querySelector(selector) } function getCurrentPath() { const path = win.location.pathname.split('/')[1] return path ? `/${path}` : '' } function addEvent(el, type, handler) { if (typeof el === 'string') el = $(el) el.addEventListener(type, handler, false) } function nextTick(fn) { setTimeout(fn) } /* meta modification */ const history = win.history const originalPushState = history.pushState const originalReplaceState = history.replaceState const pushstateEvent = new Event('pushstate') const replacestate = new Event('replacestate') // override pushState history.pushState = function() { const result = originalPushState.apply(this, arguments) window.dispatchEvent(pushstateEvent) return result }; // override replaceState history.replaceState = function() { const result = originalReplaceState.apply(this, arguments) window.dispatchEvent(replacestate) return result } ;['popstate', 'pushstate', 'replaceState'].forEach(function(eventName) { window.addEventListener(eventName, () => { // ensure that the event is triggered after the DOMContentLoaded event requestAnimationFrame(() => { main() }) }) }) function filterCommonAds() { nextTick(() => { $('app-dn-user-menu-item:has(span.iconVIP)')?.remove() }) } /* home page */ function filterHomePage() { if (!homePageStyle) { homePageStyle = GM_addStyle(` app-recommended-news:nth-of-type(2), app-classified-top-videos:nth-of-type(1) > app-home-collection, div:has(> app-discovery-in-home), .new-list { display: none!important; } `) } } /* play/watch page */ function filterPlayPage() { if (!playPageStyle) { playPageStyle = GM_addStyle(` div.ps > div.bl, vg-pause-f, .caption { display: none!important; } `) } nextTick(() => { $(`app-video-user-data-bar + div`)?.remove() }) filterPlayer() } function filterPlayer() { let timer const timeout = 5000 let playerEl let pauseOverlayEl init() function init() { timer = setInterval(findPlayer, 1000) setTimeout(clear, timeout) } function findPlayer() { playerEl = $('#video_player') if (playerEl) { clearInterval(timer) setPlayer() } } function clear(){ if (!playerEl) { clearInterval(timer) } } function setPlayer(){ addEvent(playerEl, 'pause', onPause) closeDanmu() } function closeDanmu() { const btn = $('.action-pannel i.iconfont') const openedName = 'icondanmukai' const closedName = 'icondanmuguan' if (btn?.classList.contains(openedName)) { btn.click() } } function onPause(){ pauseOverlayEl = $('.publicbox') if (pauseOverlayEl) { pauseOverlayEl.remove() pauseOverlayEl = null if (playerEl.paused) { playerEl.play() } } } } // main function main() { const path = getCurrentPath() switch (path) { case '': filterHomePage() break case '/watch': case '/play': filterPlayPage() break } filterCommonAds() } main() })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址