去除百度搜索结果重定向,热榜,部分百度系推广, 翻译页广告弹出层
// ==UserScript==
// @name dedu
// @license MIT
// @namespace github.com/ojer
// @match https://www.baidu.com/s
// @match https://fanyi.baidu.com/*
// @grant GM_addElement
// @runat document-end
// @version 1.35
// @author ojer
// @description 去除百度搜索结果重定向,热榜,部分百度系推广, 翻译页广告弹出层
// ==/UserScript==
const dataId = 'vm-ojer-dedu'
const addStyle = () => {
let content = `
#content_right{
display: none !important;
}
#content_left > div:not([id]) {
display: none !important;
}
#content_left > div[tpl="short_video"],div[tpl="news-realtime"],div[tpl="bjh_addressing"],div[tpl="recommend_list"] {
display: none !important;
}
#content_left > div[mu^="https://baijiahao.baidu.com/s"] {
display: none !important;
}
`
if (window.location.host === 'fanyi.baidu.com') {
// display: block;
content += `
div[style*="background-color: rgba(0, 0, 0, 0.6);"] {
display: none !important;
}
div[style*="background: rgba(0, 0, 0, 0.6);"] {
display: none !important;
}
body > div:not(#root) {
display: none !important;
}
`
}
const ele = GM_addElement(document.head, 'style', content)
ele.setAttribute('data-id', dataId)
}
const main = (s) => {
setTimeout(() => {
const left = document.getElementById('content_left')
if (left) {
const childrenElements = left.children
for (var i = childrenElements.length - 1; i > -1; i--) {
const fc = childrenElements[i]
if (fc.querySelector('a.m.c-gap-left')) {
fc.remove()
continue
}
try {
const href = fc.getAttribute('mu')
if (href) {
fc.querySelectorAll('a').forEach((a) => a.setAttribute('href', href))
}
} catch (ignore) {}
}
}
s += 500
if (s <= 3000) {
main(s)
}
}, s)
}
new MutationObserver((mutationsList, observer) => {
if (!document.querySelector('style[data-id="' + dataId + '"]')) {
setTimeout(addStyle())
main(500)
}
}).observe(document.body, {
childList: true
})