百度不挂科重定向→百度题库去遮挡、去广告
// ==UserScript==
// @name 百度不挂科重定向—百度题库去遮挡答案
// @namespace http://tampermonkey.net/
// @version 0.2
// @description 百度不挂科重定向→百度题库去遮挡、去广告
// @author SilenceSik
// @match *://easylearn.baidu.com/edu-page/*
// @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant none
// @license MIT
// ==/UserScript==
(function () {
"use strict";
// 获取当前页面的 URL
var url = window.location.href;
// 检查是否为需要重定向的 URL 格式
if (url.startsWith("https://easylearn.baidu.com/edu-page/tiangong/bgkdetail?id=")) {
// 从 URL 中提取 ID 参数
var id = url.split("id=")[1];
// 构造新的 URL
var newUrl = "https://easylearn.baidu.com/edu-page/tiangong/questiondetail?id=" + id;
// 重定向到新 URL
window.location.href = newUrl;
}
let log_prefix = "[BDWK]";
let mask = null;
let tigan = null;
// 等待页面加载完成
window.onload = function() {
rmMask();
};
function log(msg) {
console.log(log_prefix + msg);
}
function rmMask() {
let t = setInterval(function () {
mask = document.querySelectorAll(".mask");
tigan = document.querySelector(".tigan");
if (tigan && mask) {
log("show full tigan");
tigan.classList.add("tigan-auto");
log("mask found");
for (let m of mask) {
m.remove();
log("mask removed.");
}
// 屏蔽题目内容
let docContV2 = document.querySelector("#app > div > div:nth-child(1) > div.container > div.left-wrap > div.left > div.question-cont > div.timu-wrap.common-block > div.doc-cont-v2");
if (docContV2) {
docContV2.style.display = "none";
log("question content blocked");
}
// 屏蔽VIP广告
let vipBannerCont = document.querySelector("#app > div > div:nth-child(1) > div.container > div.vip-banner-cont");
if (vipBannerCont) {
vipBannerCont.style.display = "none";
log("VIP banner blocked");
}
// 屏蔽题目预览
let docPreview = document.querySelector("#app > div > div:nth-child(1) > div.container > div.left-wrap > div.left > div.doc-preview");
if (docPreview) {
docPreview.style.display = "none";
log("question preview blocked");
}
// 屏蔽右侧区域
let rightDiv = document.querySelector("#app > div > div:nth-child(1) > div.container > div.right");
if (rightDiv) {
rightDiv.style.display = "none";
log("right area blocked");
}
// 屏蔽视频解析
let questionVideo = document.querySelector("#questionVideo");
if (questionVideo) {
questionVideo.style.display = "none";
log("video analysis blocked");
}
// 屏蔽业务元素线
let businessElLine = document.querySelector("#app > div > div:nth-child(1) > div.container > div.left-wrap > div.left > div.business-el-line");
if (businessElLine) {
businessElLine.style.display = "none";
log("business element line blocked");
}
// 修改题干高度为150px
let tiganDiv = document.querySelector("#app > div > div:nth-child(1) > div.container > div.left-wrap > div.left > div.question-cont > div.timu-wrap.common-block > div.tigan");
if (tiganDiv) {
tiganDiv.style.height = "150px";
log("tigan height modified to 150px");
}
clearInterval(t);
}
}, 100);
// 使用 MutationObserver 监听 DOM 树变化
const observer = new MutationObserver(mutations => {
mutations.forEach(mutation => {
mutation.addedNodes.forEach(node => {
if (node.nodeType === Node.ELEMENT_NODE) {
// 如果新增节点是元素节点
if (node.matches('#app > div > div:nth-child(1) > div.container > div.right')) {
// 如果是右侧区域元素
node.style.display = 'none';
log('right area blocked');
} else if (node.matches('#questionVideo')) {
// 如果是视频解析元素
node.style.display = 'none';
log('video analysis blocked');
}
}
});
});
});
// 开始观察
observer.observe(document.body, {childList: true, subtree: true});
}
})();