Like posts for specific users or floors, just like bro QKWM
יש גרסאות של סקריפט זה עם קוד מעודכן. הצג את כל הגרסאות
* 让UI可拖动
* 牺牲性能,先保证完成全局点赞的能力
* 将选择器.boxed.onscreen-post更改为.topic-post.clearfix,这样可以同时匹配主帖子和回复帖子。
楼层范围:添加了两个输入框(floorFromFilter 和 floorToFilter),用于用户输入起始楼层和结束楼层。禁用了负数输入,并确保输入有效。
楼层逻辑:根据帖子的 id 属性来确定楼层,id="post_X" 中的 X 就是楼层号,因此我们将其提取出来并与用户输入的楼层范围进行对比。
用户名过滤:如果用户输入了用户名,将会检查是否与帖子的用户名匹配。如果没有输入用户名,则默认会对所有帖子进行操作。
MutationObserver:也对动态加载的帖子进行点赞操作,确保新增的帖子也能符合楼层和用户名的条件。
Bug 修复:
之前的 clearInterval() 没有传递定时器的 ID,这样会导致无法停止定时器。在新的代码中添加了 likeInterval 来保存定时器 ID,并在停止点赞时调用 clearInterval(likeInterval) 来清除定时器。
将 UI 元素的位置调整到页面的左上角,并给它添加了样式,更易于操作。并且增加了背景色、阴影等样式使其更醒目。同时保证了按钮和输入框有足够的空间显示,并且按下按钮后能够正确反应。
保持了对新增 .toggle-like 元素的监听,确保新的点赞按钮出现时能够进行点赞。 这个部分保持了原始的逻辑,增加了对新增节点的检查,并且在满足条件时执行 click()。
确保 likeAll 函数检查所有已有的 .toggle-like 按钮,并且根据用户名和楼层过滤条件来决定是否执行点赞。
保证了每次点击 likeButton 时,按钮的文本会根据状态切换(开始点赞 和 停止点赞),让用户知道当前操作状态。