您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
显示节点【对应层级】序号、统计子节点数量【忽略无子节点的节点】、BUG【偶尔不知原因的样式错乱】
// ==UserScript== // @name 幕布-序号&统计 // @namespace 。。。 // @version 0.3 // @description 显示节点【对应层级】序号、统计子节点数量【忽略无子节点的节点】、BUG【偶尔不知原因的样式错乱】 // @include https://mubu.com/doc* // @author Arno Lee // @grant none // ==/UserScript== (function() { let nodeIndexMap = new Map(),nodeContenMap = new Map(),nodeChildsMap = new Map(); function process(step,depth,nodeChilds) { if(step < depth) { ++ step; } let count=0; for (var i = 0; i< nodeChilds.length; i++) { let node = nodeChilds[i]; if(node.className == "node" || node.className == "node collapsed" || node.className == "node finished collapsed") { nodeIndexMap.set(node.id,++count); nodeContenMap.set(node.id,node.firstChild.lastChild.innerHTML); if(node.lastChild.className=="children") { nodeChildsMap.set(node.id,node.lastChild.childNodes.length); } } // 排除样式节点 if(node.className=="content-wrapper") { continue; } process(step,depth,node.childNodes); } -- step; } window.setTimeout(function() { process(1,4,document.getElementsByClassName("node-tree")[0].childNodes); nodeIndexMap.forEach(function (value,key) { if(nodeContenMap.get(key)!="") { let ele = document.getElementById(key); if(nodeChildsMap.get(key)) { ele.firstChild.lastChild.innerHTML = '<span style=color:#007aff>('+nodeIndexMap.get(key)+') </span>' + nodeContenMap.get(key)+' <span style=color:#007aff>【'+nodeChildsMap.get(key)+'】</span>'; } else { ele.firstChild.lastChild.innerHTML = '<span style=color:#007aff>('+nodeIndexMap.get(key)+') </span>' + nodeContenMap.get(key); } } }); }, 3000); })();