Convert gairaigo (Japanese loan words) back to English
< Feedback on Katakana Terminator
试了一圈好像只有示例那个会消失?很迷惑
我今##装这个脚本之后也出现了这个问题,似乎并不是只有这个视频才会消失。
嗯,能复现你们说的 bug,我试着定位下原因在这个问题解决前,可以先屏蔽掉 B 站,在脚本第二行加上
// @exclude https://*.bilibili.com/*
我最近姑且是这么用着来着……似乎只有视频有问题 所以我屏蔽的是// @exclude ://.bilibili.com/video/*
这个应该说是B站的问题,B站的新版的播放器似乎有完整性校验逻辑,在加载过程中如果被更改注入内容就可能自毁,只针对B站视频播放页的话我折腾过这样是可行的
if(location.href.match('bilibili.com/video/')) {new MutationObserver(function (mutations, observer) {observer.disconnect();main('Katakana Terminator');}).observe(document.querySelector('.ops'), {childList: true, subtree: true});}else {main('Katakana Terminator');}
不过这兼容方式挺突兀的,每个冲突网站单独做适配对这个脚本目前的执行逻辑来说并不实际……
@indefined said:在加载过程中如果被更改注入内容就可能自毁,只针对B站视频播放页的话我折腾过这样是可行的不过这兼容方式挺突兀的,每个冲突网站单独做适配对这个脚本目前的执行逻辑来说并不实际……
等待播放器加载完成确实可以回避这个问题。
其实此脚本不支持 AJAX 页面也是遇到了类似的困扰:我担心 MutationObserver
监听所有元素的变化,脚本性能会爆炸;但是如果不全部监听,就要给各个网站分别适配…
脚本会导致 Bilibili HTML5 播放器在加载过程中消失
示例 https://www.bilibili.com/video/BV1ZC4y1s75r