11// ==UserScript==
22// @name 知乎增强
3- // @version 1.8.5
3+ // @version 1.8.6
44// @author X.I.U
55// @description 移除登录弹窗、屏蔽首页视频、默认收起回答、快捷收起当前回答/评论(左键两侧空白处)、快捷回到顶部(右键两侧空白处)、屏蔽用户 (发布的内容)、屏蔽关键词(标题/评论)、移除高亮链接、屏蔽盐选内容、净化标题消息、展开问题描述、置顶显示时间、完整问题时间、区分问题文章、直达问题按钮、默认高清原图、默认站外直链
66// @match *://www.zhihu.com/*
@@ -147,6 +147,9 @@ function getCollapsedAnswerObserver() {
147147 if ( ! mutation . target . classList . contains ( 'RichContent' ) ) continue
148148 for ( const addedNode of mutation . addedNodes ) {
149149 if ( addedNode . nodeType != Node . ELEMENT_NODE ) continue
150+ //console.log(addedNode, addedNode.offsetHeight)
151+ if ( addedNode . className == 'RichContent-inner' && addedNode . offsetHeight < 400 ) return
152+ //console.log(addedNode.offsetHeight)
150153 const button = addedNode . querySelector ( '.ContentItem-actions.Sticky [data-zop-retract-question]' ) ;
151154 if ( button ) {
152155 mutation . target . setAttribute ( 'script-collapsed' , '' ) ;
@@ -244,9 +247,11 @@ function collapsedNowAnswer(selectors) {
244247 if ( rightButton ) {
245248 // 固定的 [收起评论](先看看是否展开评论)
246249 let commentCollapseButton = rightButton . querySelector ( 'button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel:first-of-type' )
250+ //console.log('111')
247251 if ( commentCollapseButton && commentCollapseButton . textContent . indexOf ( '收起评论' ) > - 1 ) commentCollapseButton . click ( ) ;
248252 // 再去收起回答
249253 rightButton = rightButton . querySelector ( '.ContentItem-rightButton[data-zop-retract-question]' )
254+ //console.log('222')
250255 if ( rightButton ) rightButton . click ( ) ;
251256 // 固定在回答底部的 [收起回答](此时正在浏览回答内容 [尾部区域])
252257 } else {
@@ -256,7 +261,9 @@ function collapsedNowAnswer(selectors) {
256261 // 固定的 [收起评论](先看看是否展开评论,即存在 [收起评论] 按钮)
257262 let commentCollapseButton = el . parentNode . querySelector ( 'button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel:first-of-type' )
258263 // 如果展开了评论,就收起评论
264+ //console.log('333')
259265 if ( commentCollapseButton && commentCollapseButton . textContent . indexOf ( '收起评论' ) > - 1 ) commentCollapseButton . click ( ) ;
266+ //console.log('444')
260267 el . click ( ) // 再去收起回答
261268 answerCollapseButton_ = true ; // 如果找到并点击收起了,就没必要执行下面的代码了(可视区域中没有 [收起回答] 时)
262269 break
@@ -269,8 +276,10 @@ function collapsedNowAnswer(selectors) {
269276 // 固定的 [收起评论](先看看是否展开评论,即存在 [收起评论] 按钮)
270277 let commentCollapseButton = el . parentNode . querySelector ( 'button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel:first-of-type' )
271278 // 如果展开了评论,就收起评论
279+ //console.log('555')
272280 if ( commentCollapseButton && commentCollapseButton . textContent . indexOf ( '收起评论' ) > - 1 ) commentCollapseButton . click ( ) ;
273- let answerCollapseButton__ = document . querySelector ( '.ContentItem-rightButton[data-zop-retract-question]' ) ;
281+ let answerCollapseButton__ = el . querySelector ( '.ContentItem-rightButton[data-zop-retract-question]' ) ;
282+ //console.log('666')
274283 if ( answerCollapseButton__ ) answerCollapseButton__ . click ( ) // 再去收起回答
275284 break
276285 }
@@ -283,13 +292,15 @@ function collapsedNowAnswer(selectors) {
283292 // 悬浮的 [收起评论](此时正在浏览评论内容 [中间区域])
284293 let commentCollapseButton = document . querySelector ( '.CommentCollapseButton' )
285294 if ( commentCollapseButton ) {
295+ //console.log('777')
286296 commentCollapseButton . click ( ) ;
287297 } else { // 固定的 [收起评论](此时正在浏览评论内容 [头部区域])
288298 let commentCollapseButton_1 = document . querySelectorAll ( '.ContentItem-actions > button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel:first-of-type, .ContentItem-action > button.Button.Button--plain.Button--withIcon.Button--withLabel:first-of-type' )
289299 if ( commentCollapseButton_1 . length > 0 ) {
290300 for ( let el of commentCollapseButton_1 ) {
291301 if ( el . textContent . indexOf ( '收起评论' ) > - 1 ) {
292302 if ( isElementInViewport ( el ) ) {
303+ //console.log('888')
293304 el . click ( )
294305 commentCollapseButton_ = true // 如果找到并点击了,就没必要执行下面的代码了(可视区域中没有 [收起评论] 时)
295306 break
@@ -304,6 +315,7 @@ function collapsedNowAnswer(selectors) {
304315 if ( isElementInViewport ( el ) ) {
305316 let commentCollapseButton = findParentElement ( el , 'ContentItem AnswerItem' ) . querySelector ( '.ContentItem-actions > button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel:first-of-type' )
306317 if ( commentCollapseButton . textContent . indexOf ( '收起评论' ) > - 1 ) {
318+ //console.log('999')
307319 commentCollapseButton . click ( )
308320 commentCollapseButton__ = true // 如果找到并点击了,就没必要执行下面的代码了(可视区域中没有 评论元素 时)
309321 break
@@ -319,6 +331,7 @@ function collapsedNowAnswer(selectors) {
319331 let commentCollapseButton = findParentElement ( el , 'ContentItem AnswerItem' ) . querySelector ( '.ContentItem-actions > button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel:first-of-type' )
320332 //console.log(commentCollapseButton)
321333 if ( commentCollapseButton . textContent . indexOf ( '收起评论' ) > - 1 ) {
334+ //console.log('101010')
322335 commentCollapseButton . click ( )
323336 break
324337 }
0 commit comments