【油猴脚本】一键删除空间动态
本帖最后由 FrozenFrost 于 2026-5-10 22:11 编辑每次回复帖子后,都会在空间里留下一条动态,而最近水贴太多,导致空间里动态越积越多,看着就烦{:4_89:}想删除却发现一次只能删一条,删起来非常折磨,于是我就想着干脆自己写个“一键删除动态”的油猴脚本。折腾了一晚上,终于把脚本写好了。
ps:1.0更新到1.1时,直接删了原本的文件,导致下载次数清空了,本来都快有10次了啊{:4_92:}
--------------------------------------------------------------------------------------------------------------------------------------------------
使用过程:
空间的动态页面右上角新增一键删除按钮
删除过程中会计数
删除后提示完成
--------------------------------------------------------------------------------------------------------------------------------------------------
因为是第一次写脚本,中间踩了不少坑,记录一下踩坑过程。
一开始我以为很简单,直接抓取动态列表里的 feedid,然后请求:home.php?mod=spacecp&ac=feed&op=delete。结果发现根本删不掉,刷新页面后动态还在。后来才意识到,我只是把前端 DOM 隐藏了,实际上数据库里的动态根本没删。
接着我开始研究删除流程,发现 GameMale 的动态删除不是普通跳转,而是 Discuz 的 AJAX 流程:
[*]点击“删除动态”
[*]弹出 AJAX 确认框
[*]提交 form
[*]调用 ajaxpost()
[*]succeedhandle_xxx 回调删除页面元素
问题也从这里开始越来越多,我最开始是模拟点击“确定”按钮,但一直失败。后来检查弹窗 HTML 才发现,我之前一直在错误地查找 <a> 元素,但“确定”并不是普通 <a> 标签,而是:<strong>确定</strong>。
后来又踩了一个坑:我以为:form.submit()就能触发删除。结果弹窗直接消失,但动态根本没删。研究后才发现onsubmit="ajaxpost(this.id, ...)"这行代码,说明 Discuz 的真正删除逻辑绑定在 ajaxpost() 上,而原生 submit 并不会触发 onsubmit 里的 AJAX 流程。所以最后改成直接:ajaxpost(form.id, ...)才真正删除成功。
结果又出现了新的问题:删除第一条动态后,页面会提示:“抱歉,您指定要查看的动态不存在”。原因是,脚本依靠捕获的删除按钮来进行删除操作,虽然第一条动态已经删了,但前端 DOM 没及时刷新,脚本下一轮循环又获取到了同一个删除按钮。而正好,我最开始是只删除了前端没删除后端,直接把最开始的document.getElementById(`feed_${feedid}_li`).remove()代码拿过来用,主动从页面里移除对应动态,就成功解决问题了。
--------------------------------------------------------------------------------------------------------------------------------------------------
1.1更新记录:有人反馈动态没删完就结束了,然后我测试时又踩坑了{:4_100:}一开始想着没检测到按键时,自动刷新网页再检测按键,结果试过后,才发现刷新网页会导致退出脚本。于是改成了等待10秒的倒计时,每秒检测一次,如果还检测不到按键,才结束任务。
--------------------------------------------------------------------------------------------------------------------------------------------------
最后,求求各位给个免费的追随,谢谢啦{:4_91:}
个人动态可以在设置里面进行显示筛选,把回帖去掉就会减少很多。当然删除还是用脚本很方便,不过添加设置以后就不用频繁删除了
对于强迫症来说一条一条删真的很烦人,我干脆就懒得删了哈哈哈,不过这个脚本很方便呢 本帖最后由 黑暗哈德 于 2026-5-10 12:22 编辑
这个我之前好像发过QQ空间,不过不是我写的,是别人的,删除空间的日志和说说
楼主这个删除论坛的也是很实用了,个人觉得非常棒,尤其是喜欢空间干净点的人来说。
确实是很有用的脚本了,之前想删发现太多了只能作罢,这下可以一网打尽了 楼主的这个脚本很方便啊,感谢分享惹 这下可以维持画面整洁了,感觉很舒服 你在空间装扮中把那个模块删掉,就什么都没有了 其实不想看的话,可以在装扮空间里面把这个栏给删掉的(´×ω×`) 正如火老师所说,你可以设置隐私选项,那个更彻底一些 很方便實用的小功具
懶人黨福音
火大佬的教學也很實用
十分感謝兩位 空间装扮里面可以直接设置掉的 很方便的脚本了,我个人属于那种不喜欢展示动态的{:6_169:} 设置里面可以关上动态要展示的类型的,只不过鼻梁删除确实是比较很方便了 好有用,正好也没有什么值得保存的动态,直接全删了 感谢分享,不过我不怎么发动态,不过对很多用户来说应该很有用吧 {:6_165:}感谢分享惹,被空间背景吸引进来噜,甚至不知道空间这个动态是可以删除的,学到了。 可以一键删帖了吗;P,挺便捷的功能。 让我回想起了以前一条一条删qq空间说说的痛苦,笑死 才注意到,回复帖子居然会在空间有显示吗