您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
在 Bing 搜索结果去除来自 CSDN 的源
// ==UserScript== // @icon https://cn.bing.com/sa/simg/bing_p_rr_teal_min.ico // @name Bing 搜索结果去除 CSDN // @namespace [url=https://github.com/zeng-Tao/]https://github.com/zeng-Tao/[/url] // @author enough // @description 在 Bing 搜索结果去除来自 CSDN 的源 // @match *://*.bing.com/search?q=* // @version 0.1 // ==/UserScript== (function () { 'use strict' const log = console.log.bind(console) const e = function (sel, parent = document) { let element = parent.querySelector(sel) return element } const es = function (sel, parent = document) { let elements = parent.querySelectorAll(sel) return elements } let createButton = function (hasCSDNItem) { let b = document.createElement('button') b.id = 'toggle-csdn-button' b.showItems = false b.move = false b.hasCSDNItem = hasCSDNItem if (hasCSDNItem) { b.innerText = '显示CSDN结果' } else { b.innerText = '没有CSDN结果' } // button style b.style.cssText = "width: 60px; height: 60px; z-index: 9999; background: #1fe0b7; color: #fff; position: fixed; top: 20%; left: 30px" e('body').insertAdjacentElement('beforeEnd', b) b.addEventListener('click', function (event) { // log('click', b.showItems) if (!b.hasCSDNItem) { return } toggleCSDNItem(event) if (b.showItems) { b.innerText = '隐藏CSDN结果' } else { b.innerText = '显示CSDN结果' } }) b.addEventListener('mousedown', function (event) { // log('mousedown') b.move = true }) b.addEventListener('mousemove', function (event) { // log('mousemove') let x = event.clientX - 20 let y = event.clientY - 20 let b = event.target if (b.move) { // log('mouse move x, y', x, y) b.style.left = `${x}px` b.style.top = `${y}px` } }) window.addEventListener('mouseup', function (event) { // log('mouseup') b.move = false }) } let toggleCSDNItem = function (event) { let target = event.target let items = es('.csdn') if (items.length == 0) { return } target.showItems = !target.showItems for (let item of items) { if (item.hidden) { item.hidden = false } else { item.hidden = true } } } let main = function () { // log('start') let items = es('#b_results .b_algo') let hasCSDNItem = false for (let item of items) { let cite = e('cite', item) let src = cite.innerText if (src.includes('csdn')) { // cite.style.background = 'red' item.style.border = 'solid 3px red' item.classList.add('csdn') item.hidden = true hasCSDNItem = true } } createButton(hasCSDNItem) } main() })()