知乎增强

屏蔽指定类别(视频、盐选、文章、想法、关注[赞同了XX/关注了XX]等等)、屏蔽用户、屏蔽关键词、默认收起回答、快捷收起回答/评论(左键两侧)、快捷回到顶部(右键两侧)、区分问题文章、移除高亮链接、净化搜索热门、净化标题消息、展开问题描述、显示问题作者、默认高清原图(无水印)、置顶显示时间、完整问题时间、直达问题按钮、默认站外直链...

< Feedback on 知乎增强

Review: Good - script works

§
Posted: 08.09.2024

祝好,最新2个版本都有的报错,在没有评论时获取到了SVG样式不是string类型
userscript.html?name…14-5c9407569e97:663
Uncaught TypeError: target.className.indexOf is not a function
at MutationObserver.callback (userscript.html?name…5c9407569e97:663:63)
callback @ userscript.html?name…14-5c9407569e97:663
另外免登录下的展开阅读全文​点击报错,页面:https://zhuanlan.zhihu.com/p/663612095
init.js:1 Uncaught TypeError: Cannot read properties of null (reading 'nodeType')
at Q (VM9330 core-optimi.kz2o4e.v2.27.2.min.js:1:287119)
at new j (VM9330 core-optimi.kz2o4e.v2.27.2.min.js:1:263730)
at Object. (load.min.js:1:31205)
at u (load.min.js:1:25454)
at o.emit (load.min.js:1:25500)
at load.min.js:1:29607
at load.min.js:1:12175
at Array.map ()
at load.min.js:1:12152
at i (init.js:1:19163)

X.I.UAuthor
§
Posted: 08.09.2024
Edited: 08.09.2024

第一个问题,我稍后检查下。

第二个问题 另外免登录下的展开阅读全文​点击报错...

自己去看脚本介绍开头,本脚本没有免登录内容,只有个已经失去意义的移除登录弹窗功能(只是单纯移除弹窗罢了,在知乎前段时间层层加码游客访问限制后就没意义了),而且你贴的内容是网站自身的报错信息(知乎本身就是这样,是正常的),如果是脚本报错,那么浏览器会显示报错来源为 userscript.html?name...

稍后我会直接移除该功能的。

X.I.UAuthor
§
Posted: 08.09.2024

检查了下确认问题了,确实是遇到 SVG 时没有正确处理,我也没想到 SVG 的 className 竟然不是空 '' 。。。

看了下其他几处和此处类似的代码,发现此处代码忘记加上元素名判断了(现在只有 DIV 的元素才会继续判断)。

虽然这个报错对用户来说是无感知的,但还是感谢你提醒~

已更新脚本。

  • 修复 [屏蔽用户] 功能在查看无评论的评论区时报错的问题
  • 移除 [移除登录弹窗] 功能代码
§
Posted: 09.09.2024

第一个问题,我稍后检查下。

第二个问题 另外免登录下的展开阅读全文​点击报错...

自己去看脚本介绍开头,本脚本没有免登录内容,只有个已经失去意义的移除登录弹窗功能(只是单纯移除弹窗罢了,在知乎前段时间层层加码游客访问限制后就没意义了),而且你贴的内容是网站自身的报错信息(知乎本身就是这样,是正常的),如果是脚本报错,那么浏览器会显示报错来源为 userscript.html?name...

稍后我会直接移除该功能的。

哈哈,安装太久啦,没注意主页描述更新,谢谢作者!

§
Posted: 09.09.2024

检查了下确认问题了,确实是遇到 SVG 时没有正确处理,我也没想到 SVG 的 className 竟然不是空 '' 。。。

看了下其他几处和此处类似的代码,发现此处代码忘记加上元素名判断了(现在只有 DIV 的元素才会继续判断)。

虽然这个报错对用户来说是无感知的,但还是感谢你提醒~

已更新脚本。

  • 修复 [屏蔽用户] 功能在查看无评论的评论区时报错的问题
  • 移除 [移除登录弹窗] 功能代码

SVG我几乎没用过,确实没想到还有不一样,也是因为排查无法展开时才注意到

Post reply

Sign in to post a reply.