javascript
// ==UserScript==
// @name Content Menu for ituring
// @namespace http://tampermonkey.net/book/*
// @version 0.1
// @description javascript
// @author Sage Kwun
// @match https://www.ituring.com.cn/book/*
// @grant BSD
// ==/UserScript==
try{
const article = document.querySelector("#article");
// 总列表
let contentMenu = document.createElement("ul");
// h2的子列表
let h2Ul = document.createElement("ul");
// 遍历子结点
for (let i=0;i < article.children.length;i++) {
let child = article.children[i];
if (child.tagName === "H2") {
// 添加id
child.id = child.innerText;
// 添加h2Ul到总列表
contentMenu.append(h2Ul);
// 清空h2Ul
h2Ul = document.createElement("ul");
// 添加h2Li
let h2Li = document.createElement("li");
let h2A = document.createElement("a");
h2A.href = "#" + child.innerText;
h2A.innerText = child.innerText;
h2Li.append(h2A);
contentMenu.append(h2Li);
} else if (child.tagName === "H3") {
// 添加id
child.id = child.innerHTML;
// 添加h3_li
let h3Li = document.createElement("li");
let h3A = document.createElement("a");
h3A.href = "#" + child.innerText;
h3A.innerText = child.innerText;
h3Li.append(h3A);
h3Li.style.marginLeft = "20px";
h2Ul.append(h3Li);
}
contentMenu.append(h2Ul);
}
// 修改目录
let menuWrapper = document.querySelector(".side");
let nativeHeader = menuWrapper.querySelector("h3");
// 替换标记
let isNativeHeader = true;
// 原目录
let nativeMenu = menuWrapper.querySelector("ul");
let bd = menuWrapper.querySelector(".bd");
nativeHeader.style.color = "blue";
// 添加事件
nativeHeader.addEventListener("click", ()=>{
if(isNativeHeader) {
bd.replaceChild(contentMenu, nativeMenu);
}else {
bd.replaceChild(nativeMenu, contentMenu);
}
isNativeHeader = !isNativeHeader;
})
console.log("success");
}catch{
console.log("no menu");
}