Giter VIP home page Giter VIP logo

pakku.js's Introduction

Build Status / Chrome Web Store - Version Chrome Web Store - Downloads Chrome Web Store - Rating / Mozilla Add-on - Version Mozilla Add-on - Downloads Mozilla Add-on - Rating

→ 点我安装 ← (支持 Chrome 和 Firefox)

logo

pakku.js

自动合并B站视频中刷屏弹幕的 WebExtension,让您免受各种带节奏弹幕的刷屏之苦

↓ 《千绪的通学路》第5话

↓ 哔哩哔哩拜年祭 2018,可见“弹幕密度分析图”功能

↓ 【炮姐/AMV】我永远都会守护在你的身边!(av810872),可见“自动调整弹幕大小”功能

↓ 《NEW GAME!》第8话,可见“弹幕信息显示框”功能

↓ 电磁炮真是太可爱了(av314),可见统计信息显示

开放 API

可以通过 HTML5 Messaging API 来利用 pakku 干更多的事情,例如修改弹幕列表、跟踪换P操作、进行对弹幕的可视化等等。

v10.0+:

  • 在每个B站播放器页面,当弹幕加载完成时,会向页面自身发送一条内容为 {type: 'pakku_event_danmaku_loaded', pakku_version: '...', cid: ...} 的消息。你可以用 window.addEventListener('message', callback) 来接收这一消息。
  • 调用 window.postMessage({type: 'pakku_get_danmaku'}, '*') 可以获取当前弹幕内容,弹幕将会通过 {type: 'pakku_got_danmaku', resp: [...]} 形式的消息返回。
  • 调用 window.postMessage({type: 'pakku_get_danmaku_with_uid'}, '*') 可以获得弹幕的发送者信息,弹幕将会通过同样的方式返回,但返回的列表中包括了 cracked_uid 属性。
  • 调用 window.postMessage({type: 'pakku_set_danmaku_bounce', danmakus: [...]}, '*') 可以更新当前弹幕内容。

请注意,上述接口没有文档,不保证能够正常工作,随时可能改变,任何 bug 都是 feature。

一个简单的 Demo 参见 pakku-advanced-filter


License

This is free software, and you are welcome to redistribute it under GPLv3.

Also, you can redistribute the CRC32 Cracker component under MIT License.

See LICENSE.txt for details.


→ 点我安装 ← (支持 Chrome 和 Firefox)


高级用户请不要错过 按发送者UID屏蔽弹幕 的用户脚本。

pakku.js's People

Contributors

dramforever avatar kookxiang avatar last-order avatar tc21 avatar xmcp avatar zacyu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pakku.js's Issues

在 Firefox 上使用,切换为”休息中“时无法加载出正常弹幕

开发者你好!
首先感谢你的这个扩展,让我看视频时眼睛舒服了很多,不过我遇到了一个问题。就是当在 B 站打开视频时扩展可正常工作,但将状态切换为”休息中“并再次刷新页面时(也试过关闭页面再打开),B 站弹幕栏无法加载出弹幕,会提示”弹幕列表装填失败“。
我的使用环境:Firefox 56.0(64 位),Windows 系统。

今天突然显示:弹幕列表装填失败,点击重试。

如果 pakku 完全无法工作,请完整地复制蓝框里的所有文字,并在反馈 bug 时附上。

[Debug Info]

Version: 8.5

Channel: firefox

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0

localStorage: {"FLUCTLIGHT":"off","BREAK_UPDATE":"off","FOOLBAR":"off","MAX_COSINE":"60","TRIM_SPACE":"on","DANMU_SUBSCRIPT":"on","POPUP_BADGE":"percent","REMOVE_SEEK":"off","TOOLTIP":"on","MAX_DIST":"5","SCROLL_THRESHOLD":"900","WHITELIST":"[]","AUTO_PREVENT_SHADE":"off","DANMU_MARK":"prefix","PROC_TYPE7":"on","SHRINK":"on","TRIM_ENDING":"on","MARK_THRESHOLD":"1","CROSS_MODE":"on","BLACKLIST":"[]","PROC_POOL1":"off","ENLARGE":"on","TRIM_WIDTH":"on","AUTO_DISABLE_DANMU":"off","TAOLUS":"[[\"^23{2,}$\",\"233...\"],[\"^6{3,}$\",\"666...\"],[\"^[fF]+$\",\"FFF...\"],[\"^[hH]+$\",\"hhh...\"],[\"^[yYoO0][yYoO0\\\\s~]+$\",\"yoo...\"]]","PROC_TYPE4":"on","_pakku_stats_time":"118/0/22","HIDE_THRESHOLD":"0","FLASH_NOTIF":"on","THRESHOLD":"20","_ADVANCED_USER":"off"}

Views:

  • moz-extension://544be7a4-8273-411d-baa8-b952b33fd51e/core/background.html

  • moz-extension://544be7a4-8273-411d-baa8-b952b33fd51e/options/options.html

  • moz-extension://544be7a4-8273-411d-baa8-b952b33fd51e/options/troubleshooting.html

  • moz-extension://544be7a4-8273-411d-baa8-b952b33fd51e/options/troubleshooting.html

  • moz-extension://544be7a4-8273-411d-baa8-b952b33fd51e/options/troubleshooting.html

Background / GLOBAL_SWITCH: true

Background / HISTORY: {"2":{"identical":255,"edit_distance":459,"cosine_distance":63,"player_seek":"已禁用","blacklist":0,"count_hide":"已禁用","whitelist":0,"batch_ignore":0,"script":0,"enlarge":13,"shrink":200,"scroll":5,"taolu":61,"total":3000,"onscreen":2223,"maxcombo":61,"maxdispval":165.08816635772374,"error":null,"cid":"30309279"},"191":{"identical":2,"edit_distance":0,"cosine_distance":0,"player_seek":"已禁用","blacklist":0,"count_hide":"已禁用","whitelist":0,"batch_ignore":0,"script":0,"enlarge":0,"shrink":0,"scroll":0,"taolu":0,"total":9,"onscreen":7,"maxcombo":2,"maxdispval":9.611767402951557,"error":null,"cid":"2"},"193":{"identical":2,"edit_distance":0,"cosine_distance":0,"player_seek":"已禁用","blacklist":0,"count_hide":"已禁用","whitelist":0,"batch_ignore":0,"script":0,"enlarge":0,"shrink":0,"scroll":0,"taolu":0,"total":9,"onscreen":7,"maxcombo":2,"maxdispval":9.611767402951557,"error":null,"cid":"2"}}

Permissions: {"origins":["*://*.bilibili.com/*","ws://*.bilibili.com/*","wss://*.bilibili.com/*","moz-extension://544be7a4-8273-411d-baa8-b952b33fd51e/*","*://*.bilibili.com/*"],"permissions":["webRequest","webRequestBlocking","notifications"]}

Tabs:

  • ID=3 status=complete undefined

  • ID=1 status=complete undefined

  • ID=4 status=complete undefined

  • ID=5 status=complete undefined

  • ID=6 status=complete undefined

  • ID=7 status=complete undefined

  • ID=8 status=complete undefined

  • ID=9 status=complete undefined

  • ID=10 status=complete undefined

  • ID=11 status=complete undefined

  • ID=12 status=complete undefined

  • ID=13 status=complete undefined

  • ID=14 status=complete undefined

  • ID=15 status=complete undefined

  • ID=16 status=complete undefined

  • ID=17 status=complete undefined

  • ID=18 status=complete undefined

  • ID=19 status=complete undefined

  • ID=20 status=complete undefined

  • ID=21 status=complete undefined

  • ID=22 status=complete undefined

  • ID=23 status=complete undefined

  • ID=24 status=complete undefined

  • ID=25 status=complete undefined

  • ID=26 status=complete undefined

  • ID=27 status=complete undefined

  • ID=2 status=loading undefined

  • ID=148 status=complete undefined

  • ID=194 status=loading undefined

  • ID=193 status=complete undefined

  • ID=191 status=complete undefined

  • ID=192 status=complete undefined

  • ID=190 status=complete undefined

Request / XML With Param: load, status=200 <?xml version="1.0" encoding="UTF-8"?><i><chatserver>chat.bilibili.com</chatserver><chatid>2</chatid><mission>0</mission><maxlimit>1500</maxlimit><realname>0</realname><source>k-v</source><d p="0.00000,1,25,16777215,1441941098,0,e661a0e4,1202067477">fafafa</d><d p="5.49300,1,25,16777215,1455343346,0,15d09664,1589246009">123</d><d p="0.65400,1,25,16777215,1366373286,0,8c7c6214,208402166">··········</d><d p="8.42700,1,25,16777215,1370174903,0,17e31502,229404976">同步</d><d p="1.01800,1,25,16777215,1370174909,0,17e31502,229409010">能发送吗</d><d p="29.83000,1,100,1,1431166012,0,f512421f,892707883">什么鬼</d><d p="25.72300,1,100,16777215,1431166015,0,f512421f,892711968">什么鬼</d><d p="4.20000,1,25,16777215,1431925298,0,f512421f,900576077">test</d><d p="0.00000,1,25,16777215,1433070453,0,f512421f,914183339">test</d></i>

Request / Normal XML: load, status=200 <i><chatserver>chat.bilibili.com</chatserver><chatid>2</chatid><mission>0</mission><maxlimit>1500</maxlimit><realname>0</realname><source>k-v</source><d p="0.00000,1,25,16777215,1441941098,0,e661a0e4,1202067477">fafafa</d><d p="0.00000,1,25,16777215,1433070453,0,f512421f,914183339">₍₂₎test</d><d p="0.65400,1,25,16777215,1366373286,0,8c7c6214,208402166">··········</d><d p="1.01800,1,25,16777215,1370174909,0,17e31502,229409010">能发送吗</d><d p="5.49300,1,25,16777215,1455343346,0,15d09664,1589246009">123</d><d p="8.42700,1,25,16777215,1370174903,0,17e31502,229404976">同步</d><d p="25.72300,1,100,16777215,1431166015,0,f512421f,892711968">₍₂₎什么鬼</d></i>

! Exception: ReferenceError: test_error_log is not defined

moz-extension://544be7a4-8273-411d-baa8-b952b33fd51e/options/troubleshooting.js :: 67 :: 1

能不能选择弹幕上限。

假设视频总弹幕10000,弹幕池上限6000,过滤1500,目前还剩4500。

能不能变成按10000过滤了2500,弹幕池上限还是6000或突破到7500。

新的相似弹幕判定规则

image

截图为 《潜行吧!阿里郎 OP》 片段。在所选片段中,有一些刷屏弹幕没有被完美合并。它们是:

yeah!~yeah!~
yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah [x2]
yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah [x2]
yeah!~yeah!~yeah!~yeah [x2]
yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~
yeah!~yeah!~yeah!~yeah!~yeah!~yeah [x2]
yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah!~yeah [x2]

它们之间的编辑距离并不是特别小,所以 pakku.js 的相似弹幕判定机制 (#2) 对其无效。

因此,我们需要引入新的机制来处理这种模式的相似弹幕。

我目前的想法是:如果两条弹幕的字符集(即所有出现的字符的集合,比如上图例子中的字符集是 {y, e, a, h, !, ~} 相同,就认为它们是相同的(当然,选项里的开关还是要有的)。

不过我目前并不清楚这种做法的识别率和误伤率,因此在此征求各位的建议。不知各位认为

  • pakku.js 是否应该合并这种刷屏弹幕?
  • 上述基于字符集的做法是否足够完美、优雅?
  • 是否有更好的算法可以识别这样的弹幕?

希望各位多多发表建议(因为我也很迷茫呀)

与下载弹幕的脚本有冲突

是这样的,我有一个user脚本bilibiliDanmaku.user.js

用它来查看或下载弹幕的,其中下载弹幕这个用到了XMLHttpRequest,responseType为blob。
但是由于这个扩展改变了XMLHttpRequest的原型,使用addEventListener('load')得到的response是字符串类型,且开头丢失了<?xml version="1.0" encoding="UTF-8"?>这一段。
请问什么办法可以解决呢,可否不对responseType为blob的XMLHttpRequest进行处理,或者返回原response?

[功能追加希望] 希望加入导入xml弹幕文件的功能

用处:

  1. 看曾因版权被删现又购入的老番的弹幕
    (弹弹Play需要本地, 如果能直接网页端导入弹幕的话会很方便)
  2. 合并近似视频的弹幕池一起食用
  3. 其他黑科技用法

希望能导入本地xml文件以及根据输入的cid自动导入对应的xml文件

添加 Travis CI 自动测试

大概的思路使用 selenium + chromedriver。目前把自动测试放到了一个单独的repository里,功能还有待完成。

selenium一个日了狗了的地方就在于没法获取扩展程序的ID,所以就没办法修改pakku的选项。我用了一个比较hack的方法(2eb743e ),不要在意啦。

Firefox下“数量标记显示成下标”选项的字体问题

Firefox下勾选“数量标记显示成下标”这个选项以后数字下标显示经常出现字体问题,尤其是当合并了大量重复弹幕以后,显示的两位数或者三位数下标数字字体并不会按照设置的弹幕字体改变而是显示成各种各样不同的字体,上下错位观感上显得很奇怪,如附件图片所示。我的播放器设置都是默认的,弹幕字体是黑体,勾选了粗体,很奇怪的是如果不勾选粗体就一切正常了……
1
2

请问能不能针对底部弹幕增大字号?

也不知道B站是怎么想的,没有相关配置可以更改。再看视频的时候,弄的滚动弹幕字号比字幕弹幕,底端/顶端固定弹幕还要大。
开启弹幕等比缩放以后,底端弹幕看的清了,滚动弹幕又非常大。不开等比缩放,甚至底端弹幕都看不清楚。笔记本1366X768的小屏幕,简直无语。

开了等比缩放的效果
https://i.loli.net/2018/02/01/5a727a663c65a.png
没开等比缩放的效果
https://i.loli.net/2018/02/01/5a727a8ee5bce.png

特判高级弹幕(type==7)

高级弹幕的格式与普通弹幕不一样。示例如下:

<d p="93.849998474121,7,25,0,1488216499,0,f7baec5d,3053794832">
[180,301,"1-0",10,"あなたの指先で跃动する电光は、私の一生変わらない信仰である",0,0,111,40,500,1000,true,"微软雅黑",1]
</d>
<d p="93.849998474121,7,25,0,1488216517,0,f7baec5d,3053795308">
[180,301,"1-0",10,"あなたの指先で跃动する电光は、私の一生変わらない信仰である",0,0,111,40,500,800,true,"微软雅黑",1]
</d>
<d p="93.849998474121,7,25,16711680,1488216538,0,f7baec5d,3053795828">
[180,301,"1-0",10,"あなたの指先で跃动する电光は、私の一生変わらない信仰である",0,0,111,40,500,600,true,"微软雅黑",1]
</d>
<d p="93.849998474121,7,25,6697932,1488216549,0,f7baec5d,3053796126">
[180,301,"1-0",10,"あなたの指先で跃动する电光は、私の一生変わらない信仰である",0,0,111,40,500,500,true,"微软雅黑",1]
</d>

如果直接在后面添加[xN]角标会导致格式挂掉,需要特殊处理。

扩展无法正常工作,无论是在http还是https下

扩展程序的版本号 4.0.1
Chrome版本号58.0.3029.110 (正式版本) (64 位)
Windows 10 1703
pakku右上角的图标有JS!角标文字
2017-06-03_005614
这个问题是每次都会出现
这个问题在所有视频里出现
以及复现bug时以下页面的截图:

b站视频页面的network面板(如果请求太多截不下就filter一下.xml)
2017-06-03_011108

pakku.js背景页的network面板和console面板
2017-06-03_011206
2017-06-03_011215

以及在chrome里直接访问如下URL得到的结果:

https://comment.bilibili.com/1.xml 正常
https://comment.bilibili.com/1.debug.xml 404
http://comment.bilibili.com/1.xml 正常
http://comment.bilibili.com/1.debug.xml 404

动态产生的弹幕不会被合并

在观看小樱S02E02的时候我发现有不同颜色但是文本内容相同的弹幕在刷屏:
image
但是却没有合并=。=如果可以的话请将他们合并起来,颜色就选最早出现的那种就OK拉=w=

[样式建议]那个sql查询的前置文本定位感觉不对

然后测了下发现旁边的输入框的高度是20px,而前面的文本高度是14px,有6px的高度差=。=
建议.pakku-foolbar>.pakku-foolbar-prompt的样式修改为

.pakku-foolbar>.pakku-foolbar-prompt {
    flex: 0 0 250px;
    text-align: right;
    padding-top: 3px;
}

就是多一个padding-top来对齐前置文本和输入框内文本(拯救强迫症患者)

todo in v2.1

此 issue 仅供备忘。

近期要实现的feature:

  • 合并相似弹幕(如果懒得弄编辑距离也可以换成“忽略弹幕结尾标点”,例如“aa!”+“aa!!”→“aa [x2]”,这个好实现,一个正则就搞定了)
  • 添加“弹幕不显示[xN]后缀”的设置项(因为有时角标会干扰正则屏蔽规则)
  • 添加“browserAction角标显示屏蔽数量、显示屏蔽百分比、不显示角标”的设置项

Firefox隐私浏览模式下的相关问题

问题一是隐私浏览模式下第一次打开视频,在播放加载完毕以后会重新加载一遍整个网页,感觉可能和之前Firefox下单独定义了字体有关?
问题二是隐私浏览模式下点击扩展程序角标不能显示正确的内容。
真是不好意思,我又来了,又是motherfucking Firefox下的问题😅。

生日快乐彩蛋应可控

RT
各自喜欢的角色并不一样,为了避免可能出现什么乱七八糟的事情还是有个开关为好
可以写得含糊一点,但是最好还是有个开关可控

手动开了 HSTS 后 扩展不工作

网络错误

CID = 19228063

Error: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'http://comment.bilibili.com/19228063.xml'.
at load_danmaku (chrome-extension://jklfcpboamajpiikgkbjcnnnnooefbhh/core/background.js:105:13)
at chrome.webRequest.onBeforeRequest.addListener.urls (chrome-extension://jklfcpboamajpiikgkbjcnnnnooefbhh/core/background.js:154:34)
at subEventCallback (extensions::webRequestEvent:87:32)
at EventImpl.dispatchToListener (extensions::event_bindings:395:22)
at Event.publicClassPrototype.(anonymous function) [as dispatchToListener] (extensions::utils:149:26)
at EventImpl.dispatch_ (extensions::event_bindings:379:35)
at dispatchArgs (extensions::event_bindings:252:26)
at dispatchEvent (extensions::event_bindings:261:7)

New Feature: 弹幕字体和瞬时弹幕数量负相关

image

截图为B站镇站之宝 【炮姐/AMV】我永远都会守护在你的身边! pakku(编辑距离:默认;词频向量:中;时间阈值:20s)的过滤效果。

虽然在数值上,我们已经过滤了 2612/3000 = 87% 的弹幕了,但还是不够给力呀。
(pakku最终要实现的目标,即我们对“给力”的定义为:在任何时刻不关弹幕都能看清画面)

为了让它再给力一点,我们发现,继续考虑优化合并效果是没有前途的了(都过滤87%了你还想怎样?),但如果在这种情况下考虑把字体适当缩小,对画面的遮挡势必也会减少很多。

当然,如果这个功能要实现的话,自然是默认关闭的,就像 DANMU_ENLARGE 一样。

B站播放器居然能加载有编码问题的弹幕XML?

举例来说,av1278409 就会遇到 pakku 提示服务端错误(因为xhr.responseXML===null),但播放器能正常加载弹幕的情况。

image

发现浏览器也无法正常加载这个XML。

image

Traceback 所在的 884 行内容如下:

<d p="175.51600646973,5,25,16777215,1485244967,0,500d8218,2892823994">av1141873�</d>

最后面那个特殊符号(好像是个 \x16?)就是引发这个问题的原因。

倒是很好奇B站播放器时怎么正常解析这个 XML 文件的。

面白い

提供google签名认证过的crx文件下载

可能有些用户无法第一时间采取正确的科学上网姿势,所以有的项目会直接提供crx文件下载。
FelisCatus/SwitchyOmega#1046 (comment)

这个项目的 Release 页面的所有 CRX 包都是从 Chrome Web Store 下载的。在开发者面板上,对于所有上传并且审核通过的版本,都会有一个下载 CRX 的链接。这样下载的 CRX 文件一般会被 Chrome 信任,因为其含有 Chrome Web Store 的签名。我们从不自己打 CRX 包。

希望增加导出 XML/ASS 弹幕文件的功能

之前使用 Bilibili 助手下载 XML 弹幕文件,下载得到的文件默认是被 pakku.js 处理过的。
虽然 HTML5 播放器下 pakku.js 工作正常,但现在下载的 XML 弹幕未经处理(fallback 到 #27 )。
其实摸到 XML 的 URL,append 上 ?debug 再打开就能触发 pakku.js 了,只是懒而已
所以麻烦作者增加导出 XML/ASS 弹幕文件的功能(
至于转换 ASS,能一起做便是极好的。
具体的可以调用这个脚本:
https://tiansh.github.io/us-danmaku/bilibili/

浏览器:Chrome 64.0.3251.0 (正式版本) dev (64 位)

添加弹幕套路正则

默认屏蔽或者合并类似 “x小时前”,“第一!”,这样的无意义弹幕

供参考:
/^\s*(前|第)\s*(\d+|(一|二|三|四|五|六|七|八|九|十).*)/
/.+小时|.+分钟/

Firefox资磁计划

v7.0 大新闻:用 Content Script 魔改 XMLHttpRequest 的方式正式完成了对 Firefox 的初步支持。

目前好像没太大的问题:

image

不过由于 Firefox 没有移植带按钮的 chrome.notifications,所以右下角的弹窗还不工作。

由于魔改 XHR 太可怕了,我还不确定是否有各种各样的奇怪的 bug,所以现在还不敢发布这个版本。

总而言之:急需各种各样的测试

todo: 自动打开HTML5播放器开关

大致思路:

  • 像原来一样弹出notification
  • 在callback中用 chrome.permissions.request 请求额外的 tabs 权限
  • 如果失败,(像原来一样)引导用户打开HTML5播放器开关
  • 如果成功,用 chrome.tabs.executeScriptbilibili.com 域下的标签注入 content script 来写入 localStorage['defaulth5'] 来启用HTML5播放器

或者使用非常暴力的奇技淫巧:

chrome.contentSettings.plugins.set({
    primaryPattern: '*://*.bilibili.com/*',
    setting: 'block'
});

问题反馈

插件文字全是省略号如图
图片

如果 pakku 完全无法工作,请完整地复制蓝框里的所有文字,并在反馈 bug 时附上。

[Debug Info]

Version: 8.2.2

Channel: chrome

User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36

localStorage: {"AUTO_DISABLE_DANMU":"off","AUTO_PREVENT_SHADE":"off","BLACKLIST":"[]","BREAK_UPDATE":"off","CROSS_MODE":"on","DANMU_MARK":"prefix","DANMU_SUBSCRIPT":"on","ENLARGE":"on","FLASH_NOTIF":"on","FLUCTLIGHT":"off","FOOLBAR":"off","HIDE_THRESHOLD":"0","MARK_THRESHOLD":"1","MAX_COSINE":"60","MAX_DIST":"5","POPUP_BADGE":"percent","PROC_POOL1":"off","PROC_TYPE4":"on","PROC_TYPE7":"on","REMOVE_SEEK":"off","SCROLL_THRESHOLD":"900","SHRINK":"off","TAOLUS":"[[\"^23{2,}$\",\"233...\"],[\"^6{3,}$\",\"666...\"],[\"^[fF]+$\",\"FFF...\"],[\"^[hH]+$\",\"hhh...\"],[\"^[yYoO0][yYoO0\\\\s~]+$\",\"yoo...\"]]","THRESHOLD":"20","TOOLTIP":"on","TRIM_ENDING":"on","TRIM_SPACE":"on","TRIM_WIDTH":"on","WHITELIST":"[]"}

Views:

  • chrome-extension://jklfcpboamajpiikgkbjcnnnnooefbhh/options/options.html

  • chrome-extension://jklfcpboamajpiikgkbjcnnnnooefbhh/options/troubleshooting.html

Permissions: {"origins":["*://*.bilibili.com/*"],"permissions":["notifications","webRequest","webRequestBlocking"]}

Tabs:

  • ID=287 status=complete undefined

  • ID=303 status=complete undefined

  • ID=295 status=complete undefined

  • ID=299 status=complete undefined

  • ID=309 status=complete undefined

  • ID=313 status=loading undefined

Request / XML With Param: load, status=200 <?xml version="1.0" encoding="UTF-8"?><i><chatserver>chat.bilibili.com</chatserver><chatid>2</chatid><mission>0</mission><maxlimit>1500</maxlimit><realname>0</realname><source>k-v</source><d p="0.00000,1,25,16777215,1441941098,0,e661a0e4,1202067477">fafafa</d><d p="5.49300,1,25,16777215,1455343346,0,15d09664,1589246009">123</d><d p="0.65400,1,25,16777215,1366373286,0,8c7c6214,208402166">··········</d><d p="8.42700,1,25,16777215,1370174903,0,17e31502,229404976">同步</d><d p="1.01800,1,25,16777215,1370174909,0,17e31502,229409010">能发送吗</d><d p="29.83000,1,100,1,1431166012,0,f512421f,892707883">什么鬼</d><d p="25.72300,1,100,16777215,1431166015,0,f512421f,892711968">什么鬼</d><d p="4.20000,1,25,16777215,1431925298,0,f512421f,900576077">test</d><d p="0.00000,1,25,16777215,1433070453,0,f512421f,914183339">test</d></i>

Request / Normal XML: load, status=200 <?xml version="1.0" encoding="UTF-8"?><i><chatserver>chat.bilibili.com</chatserver><chatid>2</chatid><mission>0</mission><maxlimit>1500</maxlimit><realname>0</realname><source>k-v</source><d p="0.00000,1,25,16777215,1441941098,0,e661a0e4,1202067477">fafafa</d><d p="5.49300,1,25,16777215,1455343346,0,15d09664,1589246009">123</d><d p="0.65400,1,25,16777215,1366373286,0,8c7c6214,208402166">··········</d><d p="8.42700,1,25,16777215,1370174903,0,17e31502,229404976">同步</d><d p="1.01800,1,25,16777215,1370174909,0,17e31502,229409010">能发送吗</d><d p="29.83000,1,100,1,1431166012,0,f512421f,892707883">什么鬼</d><d p="25.72300,1,100,16777215,1431166015,0,f512421f,892711968">什么鬼</d><d p="4.20000,1,25,16777215,1431925298,0,f512421f,900576077">test</d><d p="0.00000,1,25,16777215,1433070453,0,f512421f,914183339">test</d></i>

! Exception: Uncaught ReferenceError: test_error_log is not defined

chrome-extension://jklfcpboamajpiikgkbjcnnnnooefbhh/options/troubleshooting.js :: 67 :: 1

todo: 用下标格式显示数量角标

虽然弹幕本身不支持下标的格式,但 Unicode 支持呀,所以我们就可以把原来的 [xN] 变成下标了!

比如说:

  • example [x2]
  • example ₍ₓ₂₎

(没有方括号的下标是一个槽点)

试了一下感觉效果拔群。
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.