Toc Bar, auto-generating table of content

A floating table of content widget

< Părere la script-ul Toc Bar, auto-generating table of content

Întrebare/comentariu

§
Postat în: 30-03-2022

作者你好,看起来你的脚本大家都能用为什么我不能[晕]
是这样的,我比较过好几款TOC脚本和扩展了,就作者这款是一直积极更新的,但是我却一直无法使用,效果就是TOC Bar出来了,但是没有目录;而使用TOC扩展和另一个脚本(跟前述扩展效果很像)则能在同一个页面中显示目录,见图,示例网址:https://css-tricks.com/the-selectmenu-element/
也不是脚本冲突的问题,我把其他TOC和可能影响的脚本都关了,都依然没目录。
也就是TOC Bar启动了但没提取/显示目录。我不清楚怎么去调试或查找错误信息,TamperMonkey,请教作者这该怎么办。

hikerpigAutor
§
Postat în: 30-03-2022

我试了你这个页面,是有内容的。盲猜是脚本执行报错了,可能是浏览器版本问题?
你用一下 Chrome Devtool ,打开 Console 看一下 TamperMonkey 执行环境里有没有报什么 JS 的错误吧(我这个示意图里红框的是暴力猴),然后截图发这里就好。

§
Postat în: 31-03-2022

呃,似乎是脚本需要的资源没加载的问题……见图
怪不得另一个脚本这么长,而作者的相对短,原来都在额外的资源那,然后这还得翻墙才能获取(我这不可能)
好吧。。。

hikerpigAutor
§
Postat în: 31-03-2022

嗯的,其实那个库 tocbot 比较现代,代码量也不大,我只是感觉没必要重新造轮子... 你可以试试把 cdn 的地址换成不用翻墙的?(老实说我其实也不知道哪个不用翻墙的比较稳的 cdn ...)

§
Postat în: 01-04-2022

找了另一个tocbot的链接:
https://cdn.bootcdn.net/ajax/libs/tocbot/4.18.2/tocbot.min.js
现在可以用了。

还有个问题,就是怎样才能将TOC Bar适配其他网站啊,例如百度搜索(嗯,就是想要那种一目十行标题的便利)?
之前说的另一个脚本直接添加网址匹配即可使用,但那脚本有强行收窄原页面内容的问题。

hikerpigAutor
§
Postat în: 01-04-2022
Editat în: 01-04-2022

两步:
1. 加网址匹配
2. 在 SITE_SETTINGS 里加上新域名的相应配置,包括内容容器选择符等

这个第 2 点是基于这样的考虑:80%以上情况,没有配置好选择符等信息的网站,就算开了 TOC 效果也会非常不佳,靠 html `h*` 标签去匹配,可能多很多不是正文的内容,也可能少很多层级。

§
Postat în: 05-04-2022

试验了一下,已经成功了,多谢回复!
另外我自己搞了一下,想让它不用的时候自动贴边收窄但不是收起;好像它被拖动之后都是以右边的位置为准,我放到左边的话它宽度缩小也只能向右缩小

§
Postat în: 08-04-2022

作者你好,请问一下怎么样可以让生成的目录默认全部展开啊?

hikerpigAutor
§
Postat în: 08-04-2022

作者你好,请问一下怎么样可以让生成的目录默认全部展开啊?

可以试试把 collapseDepth 改成 7 或者 6

§
Postat în: 13-04-2022

作者你好,TOC Bar在掘金这个页面失效了:
https://juejin.cn/post/6844903997698998285

hikerpigAutor
§
Postat în: 13-04-2022

作者你好,TOC Bar在掘金这个页面失效了:
https://juejin.cn/post/6844903997698998285

掘金页面改版了,我速度改了个 1.9.3 版 https://github.com/hikerpig/toc-bar-userscript/commit/22d79ff8323fb76efa4d4dbf0523d5bd4f1cdfd7

§
Postat în: 21-04-2022

作者你好,发现有部分H3标题没有被计入TOC Bar的目录中,见图,网址:
https://www.guancha.cn/internation/2022_04_20_635947.shtml
图左边是 Smart TOC 的扩展生成的目录,右边是 TOC Bar 生成的目录,蓝色方框里是后者缺少的部分。

// @match *://www.guancha.cn/*

SITE_SETTINGS
'www.guancha.cn': {
contentSelector: '.content',
scrollSmoothOffset: -50
},

hikerpigAutor
§
Postat în: 22-04-2022

@hzhbest 点一下 Toc Bar 右上角的刷新按钮看看有没有? 有时候 TocBar 运行的时候这些内容还没加载出来,就没办法

§
Postat în: 22-04-2022

那能不能加个延时加载,或者检测如果页面长度变化了就自动刷新?

hikerpigAutor
§
Postat în: 22-04-2022

加延时不知道取什么值合适,后者可以考虑一下,但是可能有小问题,如果页面总是变,toc bar 一直刷新,刷新的时候会丢失之前的展开状态,就会一直闪

§
Postat în: 25-04-2022

例如检测到页面长度变动的量超过屏幕高度才进行刷新,不一定要定时检测,也可以只在鼠标移上TOC Bar时才检测;
对于有些翻页之后不刷新页面也不变动页面长度的网页,或者可以检测鼠标移上的目录项是否存在,不存在(或者不可见;表示内容已变更)则进行刷新。【当然我未遇到有这样行为的需要使用目录导航的网页,所以这目前可以不考虑】

hikerpigAutor
§
Postat în: 27-04-2022

的确是个好想法,可以尝试一下

Postează un raspuns

Autentifică-te pentru a posta un răspuns.