去除bilibili链接中不需要的参数,如spm_id_from/from_sourse/from/等,还地址栏以清白干净
< Commentaires sur Bilibili 干净链接
这个脚本是通过“监听页面元素变化”触发对 URL 的净化的
是也不是,因为脚本处理的不只是地址栏URL,还包括所有a标签。只是清理地址栏可能眼不见心不烦,但鼠标每每划过,提示的超链接如果带垃圾参数的话还是很不爽。况且对于不支持navigation
事件的浏览器而言,尽量避免点击的超链接在地址栏一闪而过的方法那就是让页面中不存在那样的链接。
元素变化”和“URL变化”也没有必然的相关性
的确没有必然的相关性,但也不是完全无关,URL变化时往往伴随着页面节点的变动。
开销的话个人以为可以接受,“监听页面元素变化”的MutationObserver
方法是异步的,不会阻碍正常的线程,用户也不会有可感的开销。而且我只处理addedNodes
新添加的节点。虽然我在代码注释里写得很夸张,什么尽量不要用之类的,但其实也没别的办法,如navigation
一样的方法可以说是可遇而不可求。如果是你想编写脚本也不在乎页面其他地方,只清理地址栏url的话,一个navigation
就足够了,前提是浏览器得支持。
当然你有其他好用的方法,也欢迎指教。
作者您好,最近我在自己编写 Bilibili 相关脚本的时候,发现 vd_source 总是自动加上。经过阅读您的脚本之后,还是有一些不解之处。似乎在非 Chromium-based 浏览器上,这个脚本是通过“监听页面元素变化”触发对 URL 的净化的,请问您是思路是否是这样的?如果是的话,我觉得这样的开销有些大,同时“元素变化”和“URL变化”也没有必然的相关性,不解之处希望您能解答。谢谢!