1、显示左侧目录,点击+号展开目录中所有折叠的书签(全部点开);
2、打开开发者工具,切换到 Console(控制台);
3、在控制台输入如下代码:
if (window.javascript_content && window.javascript_content.toc) {
console.log(window.javascript_content.toc);
} else if (window.bookConfig && window.bookConfig.toc) {
console.log(window.bookConfig.toc);
} else {
// 尝试从全局搜索中提取目录文本
let t = [];
document.querySelectorAll('*').forEach(el => {
if(el.shadowRoot) {
el.shadowRoot.querySelectorAll('.menu-item, [class*="item"]').forEach(item => t.push(item.textContent.trim()));
}
});
// 如果上面都找不到,直接用万能匹配抓取当前可见侧边栏的所有文本
const list = Array.from(document.querySelectorAll('div, span, li, a'))
.map(el => el.innerText ? el.innerText.trim() : '')
.filter(text => text.length > 1 && !text.includes('\n'));
console.log([...new Set(list)].join('\n'));
}
从返回的文本中选取您需要的所有展开的目录文本字段进行复制即可
|