您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
clear site ui
当前为
// ==UserScript== // @name remove ads // @namespace http://removeads.net/ // @version 0.1.21 // @description clear site ui // @author jim // @include /http[s]?\:\/\/([a-z\.]*\.)?[myjavbay|eporner|footfan|sis001|theporn|av6k|eqpp|bdsmx|vjav|soav|pornlulu|arival|avtb].*\..*/ // @include * // @exclude *://*.doubleclick.*/* // @exclude *://*advertising* // @exclude *://*banner* // @grant GM_getValue // @grant GM_setValue // @grant GM.getValue // @grant GM.setValue // @require https://openuserjs.org/src/libs/sizzle/GM_config.min.js // @license MIT // @run-at document-end // ==/UserScript== ; (function (withjQuery, remove) { "use strict"; if (window.self !== window.top) { return; } // end execution if in a frame withjQuery(function ($, window) { let conf = new GM_config({ id: 'GM_config_removeAds', title: 'Configurable Options Script', fields: { 'conf': { 'label': 'Search keys', 'type': 'textarea', 'default': `[ { "matchs": ["arival", "pornlulu"], "selectors": [ "div.row.no-gutters", "#top-ads", "#bottom-ads", ".ima-ad-container", "#myplayer_ima-ad-container", 'div[style*="text-align:center"]' ] }]` }, }, }); let topref = 80; let container = $(document.createElement('div')).css({ 'cssText': `opacity:1;-moz-transition-duration:0.2s;-webkit-transition-duration:0.2s;border-radius:5px 5px 5px 5px;cursor:pointer;position:fixed;top:480px;width:40px;height:120px;left:0px;z-index:9999` }); //最顶按钮 let toTopBtn = $(document.createElement('span')).css({ 'cssText': `opacity:0.3;-moz-transition-duration:0.2s;-webkit-transition-duration:0.2s; background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4RDY5NzMwMUU5NEJFMjExQjQ4NkI4QUQ0MEI3RkIzMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCMDg5QzBEMjRCRUExMUUyQkJFNkZFQkYyNTMxNzEyNSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCMDg5QzBEMTRCRUExMUUyQkJFNkZFQkYyNTMxNzEyNSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4RDY5NzMwMUU5NEJFMjExQjQ4NkI4QUQ0MEI3RkIzMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4RDY5NzMwMUU5NEJFMjExQjQ4NkI4QUQ0MEI3RkIzMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Poa+yUsAAABySURBVHja7NfBCkAhCETRpg/v1y2hfWmKBCO4ffdsXhFEpFVOb8VDwN8AAEP3SaB/gWfXaFj2Dvd3AuJPiKi4GxEZdyGi42ZERtyEyIpfIzLjV4js+BEB63W8Tj45HGzgZUQAAQQQ8BUAfJoRUA2YAgwAW/KKqewhSvEAAAAASUVORK5CYII=") no-repeat scroll 50% 50% rgba(0, 0, 0, 0.7); border-radius:5px 5px 5px 5px;cursor:pointer;position: absolute;top:${topref}px;width:40px;height:40px;left:0px;z-index:9999` }); let imgBtns = toTopBtn; toTopBtn.click(function () { window.scrollTo(0, 0); }); container.append($(toTopBtn)); //下载按钮 let downloadBtn = $(document.createElement('span')).css("cssText", `opacity:0.3;-moz-transition-duration:0.2s;-webkit-transition-duration:0.2s; background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjI3QzE0QkM5NEJFODExRTI5QzU0REU5NjgzMkRERUJGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjI3QzE0QkNBNEJFODExRTI5QzU0REU5NjgzMkRERUJGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MjdDMTRCQzc0QkU4MTFFMjlDNTRERTk2ODMyRERFQkYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MjdDMTRCQzg0QkU4MTFFMjlDNTRERTk2ODMyRERFQkYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz43+dIzAAABGUlEQVR42mL8//8/w0ACJoYBBgPugFFACmAG4kAgXgrEZ4D4DxSfgYoFQtXQBKgD8Ukg/k8An4SqpSooAuJvRFgOw9+geqgCukiwGB13UWp5OAWWw3A4uZazAfETKjjgNtQskkEUFSyHYVhO6SUlgS4lwmB0QNUEeoNGDoDh7YSi5gONHfAfGiUYCS8HiA8QaQClDgClDS2YZmkgPk+iAZQ6AB4KIJ9fIkMzNRxwlQEa7P8HyAGgtMZwmAQNdUTkoDoSzPsM0vCTRFfXUclyeBT8JCPo6qhgOQhPAGk8Rmb81VFoOSgb6oI051NQzteRaTnc95RkQ0owRlEsTSdH4K2M2KDRcYAGFp8ntTqmG2Ac7RuOeAcABBgAGLrbhINPh9cAAAAASUVORK5CYII=") no-repeat scroll 50% 50% rgba(0, 0, 0, 0.7); border-radius:5px 5px 5px 5px;cursor:pointer; position: absolute;top:${topref + 40}px;width:40px;height:40px;left:0px;z-index:9999`) downloadBtn.click(function () { }); imgBtns = imgBtns.add(downloadBtn) container.append($(downloadBtn)); let toBottomBtn = $(document.createElement('span')).css('cssText', `opacity:0.3;-moz-transition-duration:0.2s;-webkit-transition-duration:0.2s; background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4RDY5NzMwMUU5NEJFMjExQjQ4NkI4QUQ0MEI3RkIzMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCMUNEQjZCQTRCRUExMUUyOEVDN0EyM0RFNkVBQ0MzRCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCMUNEQjZCOTRCRUExMUUyOEVDN0EyM0RFNkVBQ0MzRCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4RDY5NzMwMUU5NEJFMjExQjQ4NkI4QUQ0MEI3RkIzMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4RDY5NzMwMUU5NEJFMjExQjQ4NkI4QUQ0MEI3RkIzMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PglexFoAAACVSURBVHja7JfRCsAgCEVz9N/jfrmzlz2MZmoDYSgIQd7bgcSImLllxtGSowDSAbpXQERq10pTU11BARRAARTAPwBk5mPM/Wda3opJQns8XlNiCHkzoZ6hbX4AgaX/qmADAiZvS1EAAmZfa6EDAi5PT7EBAm4/r0CBQMgrIppAIOrToxNMxKcMmHsd9aH6mhVANsAlwADuz2Iyd6ydewAAAABJRU5ErkJggg==") no-repeat scroll 50% 50% rgba(0, 0, 0, 0.7); border-radius:5px 5px 5px 5px;cursor:pointer;position: absolute;top:${topref + 80}px;width:40px;height:40px;left:0px;z-index:9999`); imgBtns.add(toBottomBtn) .hover( function (item) { $(this).css('opacity', 1) }, function (item) { $(this).css('opacity', 0.3) }); toBottomBtn.click(function () { window.scrollTo(0, document.body.scrollHeight); }); container.append($(toBottomBtn)); let fastBtn = $(document.createElement('button')).text('[Conf]'), middleBtn = $(document.createElement('button')).text('[Start/Stop]'), slowBtn = $(document.createElement('button')).text('[-]'); container.append(fastBtn).append($('<br />')) .append(middleBtn).append($('<br />')) .append(slowBtn).append($('<br />')) fastBtn.click(function () { conf.open(); }); slowBtn.click(function () { }); $(document).keydown(function (event) { let e = event || window.event; let k = e.keyCode || e.which; if (k === 16) { // isCtrl = true; middleBtn.click() } else if (k === 38) { //up event.stopPropagation() slowBtn.click() } else if (k === 40) {//down event.stopPropagation() //fastBtn.click() } }) $().add(fastBtn).add(middleBtn).add(slowBtn) .width(35) .css({ 'font-size': 10, 'font-background': 'gray', 'padding': '1px', 'text-align': 'center', 'vertical-align': 'middle', 'margin': '2px', 'opacity': '0.9', 'background': 'white' }).hover( function (item) { $(this).css('border', '1px solid black') }, function (item) { $(this).css('border', 'none') }); middleBtn.click(function () { if (!!!win.___t) { win.___func(); } else { clearTimeout(win.___t) win.___t = 0 } }) container.appendTo('body'); let list = [{ "matchs": ["avtb"], "selectors": [".ads"] }, { "matchs": ["sexinsex"], "selectors": ["#header", ".ad_text"] }, { "matchs": ["arival", "pornlulu"], "selectors": [ "div.row.no-gutters", "#top-ads", "#bottom-ads", ".ima-ad-container", "#myplayer_ima-ad-container", 'div[style*="text-align:center"]' ] }, { "matchs": ["myjavbay"], "selectors": ["#custom_html-12", "#custom_html-18", "#custom_html-19", "#custom_html-2"] }, { "matchs": ["eporner"], "selectors": ["#movieplayer-box-adv"] }, { "matchs": ["footfan"], "selectors": ["#sticky-banner-4672820", ".da", ".form-group.dvplay > div:eq(1)"] }, { "matchs": ["sis001"], "selectors": ["#ad_headerbanner", ".ad_text", ".portalbox", "#header"] }, { "matchs": ["av6k"], "selectors": [ "div.frameC > a", "div.frame > a", "#app", "table.links-top2", ".video-img", ".subLink", ".newVideoC>div>a[target='_blank'],p,font,b,.h_30", ".clickadu", ".footlink", ".clickadu" ], "run": () => { $("#header").css({ "padding-top": "0px", "padding-bottom": "0px" }) $(".menu").css({ "padding-top": "0px", "padding-bottom": "0px" }) } }, { "matchs": ["theporn"], "selectors": ["div.c199d26a", ".float-right.right-player-container.col-2"], "run": () => { $(".q-responsive").parent().parent().parent().remove() setTimeout(function () { $("#gbcs").trigger("click") $(".close").trigger("click") $(".block").trigger("click") remove("#__ds_dp", "#domain_change_dialog") }, 3000) } }, { "matchs": ["eqpp"], "selectors": ["#sticky-banner-4672820", ".da", ".form-group.dvplay > div:eq(1)"] }, { "matchs": ["bdsmx"], "selectors": [".right", "section:contains(Advertisement)"] }, { "matchs": ["vjav"], "selectors": [ ".hdyythvtvviieietth", ".vydththeeyy", "section:contains(Advertisement)", ".sinieieyyii", ".eniimeymsywwywyiie", ".iyinsiieieyyii", ".video-page__content>*:not(.left)", ".left>*:not(.video-page__player,.video-page__underplayer)" ] }, { "matchs": ["soav"], "selectors": ['.ad.noadmo'] }, ] let remove = function (...selectors) { let adItems = $(selectors.join(",")) console.log("removed->", adItems.length, selectors.join(",")) adItems.remove() } let removeListAds = function () { new Promise((resolve, reject) => resolve(conf.get('conf', '[]'))) .then(r => { try { return JSON.parse(r) } catch (error) { console.log('config value:', r, 'Error:', error) return [] } }) .then(listconf => listconf.concat(list)) .then(alllist => { for (let i = alllist.length; i > 0; i--) { let li = alllist[i - 1] if (!li) { console.log(`item is null, index:`, i) continue; } if (!li.matchs || li.matchs.length == 0) { console.log(`matchs is null or matchs length is 0, index:`, i) continue; } for (let j = li.matchs.length; j > 0; j--) { if (window.location.href.indexOf(li.matchs[j - 1]) > -1) { remove(...li.selectors) if (li.run) li.run() } } } }) .catch(error => console.log('config err:', error)) } // Options for the observer (which mutations to observe) let config = { childList: true, // 监视node直接子节点的变动 subtree: true, // 监视node所有后代的变动 attributes: true, // 监视node属性的变动 characterData: false, // 监视指定目标节点或子节点树中节点所包含的字符数据的变化。 attributeOldValue: false // 记录任何有改动的属性的旧值 }; // Callback function to execute when mutations are observed let callback = function (mutationsList, observer) { for (let mutation of mutationsList) { if (mutation.type == 'childList') { for (var node of mutation.addedNodes) { if (!(node instanceof HTMLElement)) continue; if (node.tagName == 'IFRAME') { // $(node).remove() // console.log("mutation remove->", "iframe") } if (node.tagName == 'DIV') { removeListAds() } } } else if (mutation.type == 'attributes') { // if (mutation.target.tagName == "DIV" && mutation.target.innerText && mutation.target.innerText != '') { // console.log("mutation attributes->", mutation.target.innerText) // if (mutation.target.innerText.indexOf('Skip') > -1) // mutation.target.click() // } } } }; // Create an observer instance linked to the callback function let observer = new MutationObserver(callback); // Select the node that will be observed for mutations let targetNode = document.body; // Start observing the target node for configured mutations observer.observe(targetNode, config); // (new MutationObserver((mlist, obs) => { })).observe(document.body, { // childList: true, // 监视node直接子节点的变动 // subtree: true, // 监视node所有后代的变动 // attributes: true, // 监视node属性的变动 // characterData: false, // 监视指定目标节点或子节点树中节点所包含的字符数据的变化。 // attributeOldValue: false // 记录任何有改动的属性的旧值 // }) $(document).ready(function () { remove("[opacity='0']", "[display='block']") //remove("iframe") //console.log("document ready remove->", "iframe") removeListAds() }) }, false) // Put all your code in your document ready area // Your code here... })(function (callback, safe) { if (typeof jQuery == "undefined") { let script = document.createElement("script") script.type = "text/javascript" script.src = "https://code.jquery.com/jquery-3.6.1.min.js" if (safe) { let cb = document.createElement("script") cb.type = "text/javascript" cb.textContent = "jQuery.noConflict();(" + callback.toString() + ")(jQuery, window);" script.addEventListener("load", function () { document.head.appendChild(cb) }) } else { let dollar = undefined if (typeof $ != "undefined") dollar = $ script.addEventListener("load", function () { jQuery.noConflict() // eslint-disable-next-line no-global-assign $ = dollar callback(jQuery, window) }) } document.head.appendChild(script) } else { setTimeout(function () { //Firefox supports callback(jQuery, typeof unsafeWindow === "undefined" ? window : unsafeWindow) }, 30) } })