2024/1/23 15:25:23
As of
// ==UserScript==
// @name becoder
// @namespace Violentmonkey Scripts
// @match https://www.becoder.com.cn/*
// @grant none
// @version 1.3
// @author EarthMessenger
// @description 2024/1/23 15:25:23
// @license MIT
// ==/UserScript==
(() => {
const fixRightClick = () => {
window.oncontextmenu = null;
document.oncontextmenu = null;
};
const fixPDF = () => {
const iframes = document.querySelectorAll('iframe');
const pat = /https:\/\/www\.becoder\.com\.cn\/js\/pdf\/web\/viewer\.html\?file=(\S*)/gm;
for (const oldPdf of iframes) {
const res = pat.exec(oldPdf.src);
if (res == null) continue;
const url = res[1];
fetch(url)
.then((resp) => resp.blob())
.then((blob) => blob.slice(0, blob.size, "application/pdf"))
.then((blob) => {
const newPdf = document.createElement("iframe");
newPdf.src = URL.createObjectURL(blob);
newPdf.width = oldPdf.width;
newPdf.height = oldPdf.height;
const parent = oldPdf.parentNode;
parent.replaceChild(newPdf, oldPdf);
});
}
};
const fixMenu = () => {
const logoItem = document.querySelector('body > div.menu > div.ui.container :first-child ');
logoItem.style.height = '47px'; // 我也不知道爲什麼
};
const fixHomePage = () => {
if (window.location.pathname !== '/index') return ;
fixMenu();
const mainDiv = document.querySelector('div.main > div');
mainDiv.children[0].classList.replace('eleven', 'sixteen');
mainDiv.removeChild(mainDiv.children[1]); // 右欄
const column = mainDiv.children[0];
column.removeChild(column.children[4]); // 提交次數統計圖
column.removeChild(column.children[0]); // AI 頭圖
};
fixRightClick();
fixPDF();
fixHomePage();
})();