#1 - 2018-1-3 15:37
君寻 (已淡出bgm38)
脚本:安装地址
组件:https://bgm.tv/dev/app/1250

## 简介:
- 点击'Show Tags'显示每个条目的Tags,默认从该条目的标记Tags里选择前10个展示,并在右边生成标签统计栏,显示数量前50的标签栏
- 为了获得完整的结果,请先安装 自动加载下一页 脚本,加载完全部页面后再点击'Show Tags'即可
- 条目列表中的标签可编辑,双击标签行的任意一处可进入编辑,编辑完成结果随即保存;编辑时注意保持标签之前的空格
- 点击右侧列表中的标签可以在左边条目中搜索对应的标签,并将结果显示在列表顶部;评分和年份同理
- 点击标签列表右边的 'x' 可以删除对应的标签
- 点击标签列表右边的 '#' 可以重命名对应的标签
- 标签搜索可支持单标签、多标签和逻辑搜索,多标签搜索格式:'tag1 tag2 tag3',逻辑搜索格式:'tag1 tag2|tag3 -tag4','|'表示“或”,'-'表示“非”
——————————————————————————————————————————
## 0.7.5 更新:
- 排行榜等页面也可以显示和统计标签了
- 修复保存上次结果的bug,修改了数据存储
——————————————————————————————————————————
## 0.7 更新:
- 增加标签获取消歧义,详情请见:https://bgm.tv//group/topic/352703
- 可保存和加载上一次的统计结果,统计结果按 用户:{类别:{收藏}} 保存
- 加载上一次统计结果时统计栏为只读状态
- 对标签统计栏的删除和重命名也可以保存到本次结果
——————————————————————————————————————————
## 0.6 更新:
- 使用了indexedDB以代替localstorage,解决了因标签数据庞大可能引起的localstorage存储不足的问题
- 增加打分统计条形图
- 可通过标签栏对标签重命名
- 标签搜索支持单标签、多标签和逻辑搜索
——————————————————————————————————————————
## 0.5 更新:
- 修复高频请求导致的503问题
- 增加标签搜索功能
- 修改了标签的获取方式,不获取标记数<Min(最高标记数/10,10)的标签
——————————————————————————————————————————
## 0.4 更新:
- 增加打分统计和时间统计功能
- 在加载标签时显示进度,点击可停止
- 可通过标签栏删除标签
——————————————————————————————————————————
## 0.3 更新:
- 标签可编辑,注意保留中间的空格,编辑完成随即保存
- 点击“更新”后不再重新加载页面,可在当前显示刷新结果
- 点击统计栏标签自动定位到最上方
——————————————————————————————————————————
## 0.2 更新:
- 点击右边统计栏的标签,可在列表最上显示标签对应的条目,并用蓝色边框标注
- 为防混淆,隐藏了原来的标签统计栏
——————————————————————————————————————————

## 效果:
#2 - 2018-1-3 15:45
(混乱善良)
(bgm38)感觉最近总是看到你出脚本,高产似母猪
#2-1 - 2018-1-3 15:54
君寻
因为大佬们已经不屑写脚本了,只有我这样还处于摸索阶段的萌新才热衷写一些简单的脚本(bgm38)
#3 - 2018-1-3 16:37
(情更怯)
谜之高产!
顺便说一下 Firefox 扩展 Greasemonkey 4 不支持 GM_addStyle
需要这个 https://greasemonkey.github.io/gm4-polyfill/gm4-polyfill.js

还有 JavaScript 的惯例是 大写字母开头的函数是构造函数。比如 new Fn();
#4 - 2018-1-3 17:15
(V1046-R MAHORO)
不如模块化写到一个脚本里。。这还要互相配合才能用有点难受

另外,点“更新tags”之后不应该隐藏tag吧,不太符合逻辑,既然要更新自然是要看了,还要手动show tags一次
#4-1 - 2018-1-3 17:23
君寻
其实并没有时常更新的必要啊,获取一次之后就可以了,更新要重新爬数据
#4-2 - 2018-1-3 17:47
烈之斩
君寻 说: 其实并没有时常更新的必要啊,获取一次之后就可以了,更新要重新爬数据
我说的是页面的操作逻辑,和常不常更新没关系吧……

用户点完“更新”之后当然是想看数据的,结果默认又给隐藏了
#4-3 - 2018-1-3 17:51
君寻
因为那个自动加载页面的脚本也还在完善中,而我的很多个脚本都需要它才能处理多页的数据
如果每个都写进去,更新就是个大问题
#5 - 2018-1-3 17:48
(Inconsistency is intoxicating)
删除了回复
#6 - 2018-1-8 18:58
(ACG猫舌,喜欢补已经凉了的企划,不喜欢趁热。)
mark,辛苦了!
#7 - 2019-9-20 18:51
(已淡出bgm38)
更新啦!详情见一楼
#8 - 2019-9-21 13:00
(追番日益,补番日损)
是因为还没过审吗,点进组件链接会跳转到创建组件的页面
#8-1 - 2019-9-22 08:53
君寻
组件审核已通过,现在可以用了
#8-2 - 2019-9-22 09:07
Another
君寻 说: 组件审核已通过,现在可以用了
多谢,辛苦了!
#9 - 2019-9-22 10:00
(迷子でもいい、迷子でも進め。)
那个历时多少天的是哪个插件/脚本(bgm38)
#9-1 - 2019-9-22 10:20
君寻
这个:https://bgm.tv/group/topic/344615
很早以前写的一个脚本,有些bug,等有时间完善一下再发组件
#10 - 2019-9-22 10:56
(已淡出bgm38)
扩展作用域测试了一下排行榜,统计了动画排名前2400的标签:
https://s2.ax1x.com/2019/09/22/uSL7Lt.png
#11 - 2019-9-22 11:11
(已淡出bgm38)
@Cedar 为什么我用你的折叠组件代码,主楼没有效果?
上一楼有效果,但是回复框的位置还是会被挤下去
#11-1 - 2019-9-22 11:17
Cedar
要摆在一行的开头才行 不然不识别b38
跟别的内容混在一起的话代码写起来有点麻烦
#11-2 - 2019-9-22 11:22
君寻
Cedar 说: 要摆在一行的开头才行 不然不识别b38
跟别的内容混在一起的话代码写起来有点麻烦
我的不是放在一行的开头吗?我看你的帖子也是这样的啊
#11-3 - 2019-9-22 11:23
Cedar
君寻 说: 我的不是放在一行的开头吗?我看你的帖子也是这样的啊
你的[/spoiler]摆在结尾了
#11-4 - 2019-9-22 11:24
君寻
Cedar 说: 你的[/spoiler]摆在结尾了
原来结束标志也要放在一行的开头啊
不对啊,还是没效果
#11-5 - 2019-9-22 11:31
Cedar
君寻 说: 原来结束标志也要放在一行的开头啊
不对啊,还是没效果
我知道原因了
你用的无序列表把标签放进 li 里面了..必须在最外层才有效
(难怪bbcode指南里没有无序列表..原来有bug啊
#11-6 - 2019-9-22 11:33
君寻
Cedar 说: 我知道原因了
你用的无序列表把标签放进 li 里面了..必须在最外层才有效
你不是说“内容可以随意添加BBcode”嘛(bgm38)
#11-7 - 2019-9-22 11:37
Cedar
君寻 说: 你不是说“内容可以随意添加BBcode”嘛
没想到无序列表有这样的bug(bgm38)
本来添加了无序列表应该是这样的效果
<li>abc</li>
[/spoiler]

结果变成了这样
<li>abc
[/spoiler]</li>

除非我解析元素内容不然没法做到了
你可以写成这样试试?
[*]列表内容
[i][/i]
[/spoiler]

像这样用别的bbcode截断无序列表的话应该就没问题了吧

还是不行(bgm38)这li的优先级怎么这么高(bgm38)
#11-8 - 2019-9-22 12:07
Cedar
君寻 说: 你不是说“内容可以随意添加BBcode”嘛
好吧..原来的无序列表的写法错了..正确写法是这样的:
[list]
[*]list item 1
[*]list item 2
[/list]
这样就没问题了
不过这样又没法显示标号了(bgm38)
列表bbcode确实很有问题啊..手动打※吧(bgm38)
#11-9 - 2019-9-22 14:20
君寻
Cedar 说: 好吧..原来的无序列表的写法错了..正确写法是这样的:
  • list item 1
  • list item 2
这样就没问题了
不过这样又没法显示标号了
列表bbcode确实很...
暂且使用Markdown写法了,等有时间写个支持Markdown的组件
#11-10 - 2019-9-22 14:22
Cedar
君寻 说: 暂且使用Markdown写法了,等有时间写个支持Markdown的组件
markdown可以折叠么?
其实list是可以被识别的, 只是CSS被设置成none了, 写个组件改改CSS应该就可以正常显示了
写好了
#12 - 2019-9-26 20:41
(已淡出bgm38)
小更新了一下
#13 - 2023-2-6 15:40
(小圣杯邀请码: whyjxz14#576501)
好像有个bug。条目标题有.的话会读取失败,比如https://bgm.tv/subject/414681
#13-1 - 2023-2-6 16:18
OH_toothache
不对。是条目只有名称其他什么都没有的话,会读取失败
#14 - 2023-12-7 19:18
请问这个组件还有在维护吗?最近试了一下,好像列表里经常只能显示一半条目的tag
#15 - 2023-12-7 19:33
我看了一下,原因是出现了“VM2254:287 Uncaught TypeError: Cannot read properties of null (reading 'textContent')
    at xhr.onload (eval at complete (g=js?r465:309:1), <anonymous>:287:66)”错误。

出现错误的原因是response的网页对象里有这样的“更多 +”链接,可能是bangumi网站近期的改动。
<a href="javascript:void(0)" id="show_user_tags" class="l"><small class="grey">更多 +</small></span></a>


这会造成以上的错误,具体来说就是“
tagList[i].querySelector('span')
”为空。

我自己加了个判定span和small对象为非空的两个if,目前运行正常了。

 if (tagList[i].querySelector('span'))
    tagsAll.tag.push(tagList[i].querySelector('span').textContent);
if (tagList[i].querySelector('small'))
    tagsAll.vote.push(tagList[i].querySelector('small').textContent);