您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Tampermonkey脚本,屏蔽百度推广和各种广告+页面样式美化+url重定向
当前为
// ==UserScript== // @name 百度搜索优化sp // @namespace bdso_sp // @description Tampermonkey脚本,屏蔽百度推广和各种广告+页面样式美化+url重定向 // @update-url null // @author vizo // @version 2.7.2 // @require https://cdn.staticfile.org/jquery/3.3.1/jquery.min.js // @include *://www.baidu.com/* // @resource bdsoCss http://app.vizo.top/css/bdso.css?v=1001 // @run-at document-start // @grant GM_addStyle // @grant GM_getResourceText // @grant GM_setValue // @grant GM_getValue // @grant GM_xmlhttpRequest // @connect * // ==/UserScript== 'use strict' //导入CSS function importCSS() { let css = GM_getResourceText('bdsoCss') let sty = $(document).find('head style') GM_addStyle(css) // 删除多余添加的样式, 防止卡顿 sty.each(function() { let tis = $(this) let id = tis.attr('id') let test = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/.test(id) if (test) { tis.remove() } }) let gooSo = $('body').find('#xyb_goo_so_btn').length if (!gooSo) { $('body').find('#form').append('<a id="xyb_goo_so_btn" target="_blank">谷歌搜索</a>') } } importCSS() $(function() { let timer = null init() try { let MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver let observer = new MutationObserver(mutationfunc) let wrapper = document.querySelector('#wrapper') //动态监视DOM树的变化 observer.observe(wrapper, { attributes: true, childList: true, subtree: true, }) } catch (e) {} // 动态加载函数 function mutationfunc() { init() setGooleSoVal() } function init() { importCSS() removeADS() cdxUrl() appendElem() setPNStatus() } // 设置a标签真实地址 function cdxUrl() { // 忽略解析的域名列表 let ignore_list = ['segmentfault.com'] $('#content_left .c-container .t > a').each(function() { let that = $(this) let url = that.attr('href') let u_txt = that.closest('.result').find('.f13 > .c-showurl').text() let dms = u_txt.match(/\b[\w]+\.[a-z]+(?=\/|$)/)+'' let cdx = that.hasClass('cdx_ed') if (!cdx && !ignore_list.includes(dms)) { GM_xmlhttpRequest({ url: url, method: 'head', onload: function(xhr) { try { that.attr('href', xhr.finalUrl).addClass('cdx_ed') } catch (e) {} }, }) } }) } // 上一页下一页按钮 function appendElem() { let len = $('body').find('.bdpage-l').length if (!len) { $('body').append('<div class="bdpage-l"></div><div class="bdpage-r"></div>') } } // 设置上下页状态 function setPNStatus() { let fkl = true let fkr = true $('#page .n').each(function() { let that = $(this) let text = that.text() if (~text.indexOf('上一页')) { fkl = false } if (~text.indexOf('下一页')) { fkr = false } }) if (fkl) { $('body') .find('.bdpage-l') .addClass('disa') } else { $('body') .find('.bdpage-l') .removeClass('disa') } if (fkr) { $('body') .find('.bdpage-r') .addClass('disa') } else { $('body') .find('.bdpage-r') .removeClass('disa') } } //屏蔽广告和推广 function removeADS() { let $ads = ['#content_left>div[style*="display:block !important"]', '#content_left>div:not([id])', '#content_left>#clone'] let $selctor = $($ads.join()) $selctor.remove() $('#content_left .result[id=1]').each(function() { let tis = $(this) let txt = tis.find('.f13 .m').text() if (txt == '广告') { tis.remove() } }) } function setGooleSoVal() { clearTimeout(timer) timer = setTimeout(() => { let goo = 'https://www.google.com.hk/search?q=' let wd = $('#kw').val() $('#xyb_goo_so_btn').attr('href', goo + wd) }, 200) } // 空格键按下快速搜索 $(document).on('keydown', function(e) { let isFocus = $('#kw').is(':focus') if (!isFocus && e.which === 32) { $('#kw') .focus() .select() return false } }) $('body').on('click', '.bdpage-l', function() { $('#page .n').each(function() { let that = $(this) let text = that.text() if (~text.indexOf('上一页')) { that[0].click() } }) }) $('body').on('click', '.bdpage-r', function() { $('#page .n').each(function() { let that = $(this) let text = that.text() if (~text.indexOf('下一页')) { that[0].click() } }) }) })