# 如何防止重复收藏小众软件论坛的网址？

**URL:** <https://meta.appinn.net/t/topic/73608>\
**Category:** 问题求助\
**Created:** [2025 年7 月 24 日 09:31 UTC](https://meta.appinn.net/t/topic/73608 "2025-07-24T09:31:40Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![kkkkkk](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/kkkkkk/32/64797_2.png) [@kkkkkk](https://meta.appinn.net/u/kkkkkk)\
**Post date:** [2025 年7 月 24 日 09:31 UTC](https://meta.appinn.net/t/topic/73608/1 "2025-07-24T09:31:40Z")

</div>

chrome浏览器，有时候收藏了一个帖子，后面会发现重复收藏的情况。  
原来是收藏了子帖（点击子帖会更新url）  
怎么避免重复收藏呢？  
大家用的是什么办法？

[![](https://h1.appinn.me/file/1753349424474_image.png) ](https://h1.appinn.me/file/1753349424474_image.png)

---

<div class="post-metadata">

**Author:** ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
**Post date:** [2025 年7 月 24 日 11:46 UTC](https://meta.appinn.net/t/topic/73608/2 "2025-07-24T11:46:31Z")

</div>

这个问题，我记得

> [@小众论坛能不能不让同一个页面产生N多条历史记录？](https://meta.appinn.net/t/topic/46183):
>
> 似乎同一个贴子的不同楼层全都会产生历史记录，感觉这feature太多余了吧

解决方案是 Edge 的这个：

![Screen-20250724194545@2x.jpg](https://h1.appinn.me/file/1753357585907_Screen-20250724194545%402x.jpg)

---

<div class="post-metadata">

**Author:** ![MiN](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/min/32/4428_2.png) [@MiN](https://meta.appinn.net/u/MiN)\
**Post date:** [2025 年7 月 24 日 15:47 UTC](https://meta.appinn.net/t/topic/73608/3 "2025-07-24T15:47:01Z")

</div>

你这个只是浏览记录啊，楼主要的是收藏夹防重复

---

<div class="post-metadata">

**Author:** ![L11](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/l11/32/5516_2.png) [@L11](https://meta.appinn.net/u/L11)\
**Post date:** [2025 年7 月 24 日 15:57 UTC](https://meta.appinn.net/t/topic/73608/4 "2025-07-24T15:57:26Z")

</div>

别使用浏览器的收藏夹，用论坛自带的收藏功能

---

<div class="post-metadata">

**Author:** ![ico](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/i/91b2a8/32.png) [@ico](https://meta.appinn.net/u/ico)\
**Post date:** [2025 年7 月 26 日 10:41 UTC](https://meta.appinn.net/t/topic/73608/5 "2025-07-26T10:41:52Z")

</div>

Firefox没这个功能  
而且我觉得这属于论坛的bug呀，有啥必要每个楼层都产生一个历史记录嘞？ :smiling_face_with_tear:

---

<div class="post-metadata">

**Author:** ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
**Post date:** [2025 年7 月 26 日 11:23 UTC](https://meta.appinn.net/t/topic/73608/6 "2025-07-26T11:23:32Z")

</div>

居然看差了…

---

<div class="post-metadata">

**Author:** ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
**Post date:** [2025 年7 月 26 日 11:24 UTC](https://meta.appinn.net/t/topic/73608/7 "2025-07-26T11:24:01Z")

</div>

不好意思，弄错了。

你可以试试论坛自带的收藏功能啊，还能提醒

---

<div class="post-metadata">

**Author:** ![MiN](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/min/32/4428_2.png) [@MiN](https://meta.appinn.net/u/MiN)\
**Post date:** [2025 年7 月 26 日 11:36 UTC](https://meta.appinn.net/t/topic/73608/8 "2025-07-26T11:36:55Z")

</div>

> [@L11](#):
>
> 论坛自带的收藏功能

有这个功能吗？怎操作呢

---

<div class="post-metadata">

**Author:** ![tiger](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/tiger/32/23490_2.png) [@tiger](https://meta.appinn.net/u/tiger)\
**Post date:** [2025 年7 月 26 日 11:39 UTC](https://meta.appinn.net/t/topic/73608/9 "2025-07-26T11:39:48Z")

</div>

点击帖子下面的书签按钮就可以啦，手机版要先点三个点，让按钮显示出来。

---

<div class="post-metadata">

**Author:** ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
**Post date:** [2025 年7 月 26 日 14:01 UTC](https://meta.appinn.net/t/topic/73608/10 "2025-07-26T14:01:17Z")

</div>

> [@如何收藏帖子、添加书签，并定时提醒](https://meta.appinn.net/t/topic/15606):
>
> 所有帖子或者回复下方都有一个书签按钮： 点击之后会弹出「创建书签」菜单，并可以在这里设置提醒： 该功能将在指定时间向你发送站内通知进行提醒。 无需提醒可以直接点击保存按钮。 可以在[个人书签页面](https://meta.appinn.net/my/activity/bookmarks)找到所有已添加的书签。

这里

---

<div class="post-metadata">

**Author:** ![kkkkkk](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/kkkkkk/32/64797_2.png) [@kkkkkk](https://meta.appinn.net/u/kkkkkk)\
**Post date:** [2025 年8 月 2 日 13:48 UTC](https://meta.appinn.net/t/topic/73608/11 "2025-08-02T13:48:46Z")

</div>

还有个办法，上脚本：

```auto

history.replaceStateRaw ||= history.replaceState;
history.replaceState = function(state, title, url) {
    //console.log("Intercepted replaceState. New URL: " + url);
	var idx = url.indexOf("topic/");
	if(idx>0) {
		var idx1 = url.indexOf("/", idx+6);
		if(idx1>0) {
			var idx2 = url.indexOf("?", idx+1);
			if(idx2<0) idx2 = url.length;
			console.log(url.slice(idx+6, idx2), url.slice(idx1+1, idx2))
			var num2 = url.slice(idx1+1, idx2);// 这里只检查第二个数字。
			if(num2.length && !isNaN(0-num2)) { 
				console.log("已拦截: " + url);
				return;
			}
		}
	}
	history.replaceStateRaw.apply(this, arguments);
};

```

原理：禁止更新url为 topic/数字/数字

使用方法：下载油猴或其他脚本扩展，应用此脚本到所有网页。

---

<div class="post-metadata">

**Author:** ![kkkkkk](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/kkkkkk/32/64797_2.png) [@kkkkkk](https://meta.appinn.net/u/kkkkkk)\
**Post date:** [2025 年8 月 2 日 14:34 UTC](https://meta.appinn.net/t/topic/73608/12 "2025-08-02T14:34:28Z")

</div>

然而这样会带来一个问题：如果跟帖数量很多，那么刷新时，无法恢复上次阅读的位置。

可用 `sessionStorage` 存储楼层数。然后将logo的链接改成 `topic/数字/数字`。

右击logo恢复。

大型脚本制作：

```auto
// ==UserScript==
// @run-at document-start
// ==/UserScript==
var num2;
var logo;

function gtp(c, d, max) {
	var p = d||document;
	if(!max) max=99999;
	while(p) {
		if(p.tagName==c) return p;
		p = p.parentNode;
		if(--max<=0) return null;
	}
}
function testTNN(url) {
	var idx = url.indexOf("topic/");
	if(idx>0) {
		var idx1 = url.indexOf("/", idx+6);
		if(idx1>0) {
			var idx2 = url.indexOf("?", idx+1);
			if(idx2<0) idx2 = url.length;
			//console.log(url.slice(idx+6, idx2), url.slice(idx1+1, idx2))
			num2 = url.slice(idx1+1, idx2);// 这里只检查第二个数字。
			if(num2.length && !isNaN(0-num2)) { 
				return 2;
			}
		}
		return 1; // 只有一个数字
	}
	return 0;
}

var flag = testTNN(location.href);
if(flag===1) {
	history.replaceStateRaw ||= history.replaceState;
	history.replaceState = function(state, title, url) {
		// console.log("Intercepted replaceState. New URL: " + url);
		if(testTNN(url)===2) {
			console.log("已拦截: " + url);
			setForumLoca(num2);
			if(parseInt(num2)>=9) {
				sessionStorage.setItem('lastPost', location.pathname)
				sessionStorage.setItem('lastPos', num2)
				console.log("已保存楼层数: " + num2);
			}
			return;
		}
		history.replaceStateRaw.apply(this, arguments);
	};

	num2 = parseInt(sessionStorage.getItem('lastPos'))
	if(!isNaN(num2) && location.pathname==sessionStorage.getItem('lastPost')) { 
		// 启动时检查一次
		let itv = setInterval(_=>{
			if(setForumLoca(num2, itv)) {
				if(typeof toast=='function') toast(num2);
				gtp("A", logo, 9).oncontextmenu = e=>{
					if(!e.altKey) {
						history.replaceState = history.replaceStateRaw;
						if(typeof toast=='function') toast("不装了");
						history.replaceState(0,0,location.pathname+"/"+num2)
						e.preventDefault()
					}
				}
				// history.replaceStateRaw(0,0,location.pathname+"/"+num2)
			}
		}, 1000)
	}

	function setForumLoca(num2, itv) { // 修改logo地址
		var tgt = "//"+location.host+location.pathname+"/"+num2;
		logo = unsafeWindow['site-logo'];
		console.log("保存的楼层: https:"+tgt, logo);
		if(logo) {
			if(itv) clearInterval(itv);
			gtp("A", logo, 9).href = tgt;
			return 1;
		}
		// return tgt;
	}
}

```

---

<div class="post-metadata">

**Author:** ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
**Post date:** [2025 年8 月 2 日 16:23 UTC](https://meta.appinn.net/t/topic/73608/13 "2025-08-02T16:23:59Z")

</div>

这么硬核么

---

<div class="post-metadata">

**Author:** ![ico](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/i/91b2a8/32.png) [@ico](https://meta.appinn.net/u/ico)\
**Post date:** [2025 年8 月 14 日 05:23 UTC](https://meta.appinn.net/t/topic/73608/14 "2025-08-14T05:23:13Z")

</div>

感谢老哥帮助解决小众论坛的问题

@Qingwa 得谢谢人家 :zany_face:

---

<div class="post-metadata">

**Author:** ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
**Post date:** [2025 年8 月 14 日 05:25 UTC](https://meta.appinn.net/t/topic/73608/15 "2025-08-14T05:25:11Z")

</div>

HI 大佬要不要把脚本发布到 Greasy Fork？
