mirror of
https://github.com/XIU2/UserScript.git
synced 2026-07-09 10:55:22 +00:00
优化 [收起当前回答/评论] 功能
This commit is contained in:
+38
-4
@@ -1,6 +1,6 @@
|
||||
// ==UserScript==
|
||||
// @name 知乎增强
|
||||
// @version 1.2.9
|
||||
// @version 1.3.0
|
||||
// @author X.I.U
|
||||
// @description 移除登录弹窗、一键收起回答、收起当前回答/评论(点击两侧空白处)、置顶显示时间、显示问题时间、区分问题文章、默认高清原图、默认站外直链
|
||||
// @match *://www.zhihu.com/*
|
||||
@@ -389,8 +389,8 @@ function collapsedNowAnswer(selectors){
|
||||
document.querySelector(selectors).onclick = function(event){
|
||||
if (event.target==this) {
|
||||
let rightButton = document.querySelector('.ContentItem-actions.Sticky.RichContent-actions.is-fixed.is-bottom')
|
||||
if(rightButton) {
|
||||
// 先判断是否展开了评论(非评论弹窗)
|
||||
if(rightButton) { // 悬浮 [收起回答]
|
||||
// 固定 [收起评论]
|
||||
let commentCollapseButton = rightButton.querySelector('button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel')
|
||||
if(commentCollapseButton && commentCollapseButton.innerText.indexOf("收起评论") > -1) {
|
||||
commentCollapseButton.click(); // 收起评论
|
||||
@@ -399,12 +399,32 @@ function collapsedNowAnswer(selectors){
|
||||
if(rightButton && rightButton.attributes[0].name === "data-zop-retract-question") {
|
||||
rightButton.click(); // 收起回答
|
||||
}
|
||||
}else{ // 固定 [收起回答]
|
||||
document.querySelectorAll('.ContentItem-rightButton').forEach(function (el) {
|
||||
if (el.attributes[0].name === "data-zop-retract-question") {
|
||||
if (isElementInViewport(el)) {
|
||||
let commentCollapseButton = document.querySelector('.ContentItem-rightButton').parentNode.querySelector('button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel')
|
||||
if(commentCollapseButton && commentCollapseButton.innerText.indexOf("收起评论") > -1) {
|
||||
commentCollapseButton.click(); // 收起评论
|
||||
}
|
||||
el.click()
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 如果当前在看评论,则收起评论
|
||||
// 悬浮 [收起评论]
|
||||
let commentCollapseButton = document.querySelector('.CommentCollapseButton')
|
||||
if(commentCollapseButton) {
|
||||
commentCollapseButton.click();
|
||||
}else{ // 固定 [收起评论](针对短篇没有收起按钮的回答)
|
||||
document.querySelectorAll('button.Button.ContentItem-action.Button--plain.Button--withIcon.Button--withLabel').forEach(function (el) {
|
||||
if (el.innerText.indexOf("收起评论") > -1) {
|
||||
if (isElementInViewport(el)) {
|
||||
el.click()
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -412,6 +432,20 @@ function collapsedNowAnswer(selectors){
|
||||
}
|
||||
|
||||
|
||||
//获取元素是否在可视区域
|
||||
function isElementInViewport(el) {
|
||||
let rect = el.getBoundingClientRect();
|
||||
return (
|
||||
rect.top >= 0 &&
|
||||
rect.left >= 0 &&
|
||||
rect.bottom <=
|
||||
(window.innerHeight || document.documentElement.clientHeight) &&
|
||||
rect.right <=
|
||||
(window.innerWidth || document.documentElement.clientWidth)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
var postNum;
|
||||
// 区分问题文章
|
||||
function addTypeTips() {
|
||||
|
||||
Reference in New Issue
Block a user