泥潭日报 uscardforum · 每日精选

批量取消跟踪话题

内容摘要

批量取消跟踪话题

1. 关键信息

  • 用户TonyZhu分享了一个JavaScript脚本,用于批量取消跟踪美卡论坛上所有已跟踪的话题。
  • 脚本通过获取当前跟踪话题列表,然后逐个发送请求取消跟踪。
  • 脚本包含延迟设置,以避免请求过快导致问题。
  • 用户SourSweetTea提供了一个更简单的解决方案:在论坛偏好设置中将“自动跟踪我进入的话题”设置为“从不”。

2. 羊毛/优惠信息

3. 最新动态

4. 争议或不同意见

  • 无明显争议

5. 行动建议

  • 对于希望批量取消跟踪话题的用户,可以尝试TonyZhu提供的JavaScript脚本(需自行在浏览器开发者工具中运行)。
  • 对于希望避免未来话题自动跟踪的用户,可以直接在论坛的偏好设置中进行更改。
原始内容
--- 第 1 楼来自 TonyZhu 的回复 (2026-02-24 10:24:46 PST) ---

这个页面会显示当前跟踪的所有话题 美卡论坛

强迫症让Gemini帮我写了一个脚本,批量取消跟踪所有话题(不知道有没有帮助,可能只有我有这样的需求233)
async function bulkUntrackTopics() {
const delay = ms => new Promise(res => setTimeout(res, ms));
const csrfToken = document.querySelector('meta[name="csrf-token"]')?.content;

if (!csrfToken) {
console.error("无法获取 CSRF Token,请刷新页面重试。");
return;
}

let isProcessing = true;
let totalProcessed = 0;

console.log("开始批量取消跟踪话题...");

while (isProcessing) {
try {
// 加入随机时间戳防止浏览器或Cloudflare缓存旧的列表
const response = await fetch(`/latest.json?state=tracking&_=${Date.now()}`);
const data = await response.json();

const topics = data.topic_list?.topics || [];

if (topics.length === 0) {
console.log(`🎉 操作完成!本次共处理了 ${totalProcessed} 个话题。所有的跟踪话题已清空。`);
isProcessing = false;
break;
}

console.log(`获取到本页 ${topics.length} 个跟踪的话题,开始处理...`);

for (const topic of topics) {
// notification_level: 1 代表常规(Regular), 0 代表屏蔽(Muted)
const payload = { notification_level: 1 };

const res = await fetch(`/t/${topic.id}/notifications`, {
method: 'POST',
headers: {
'X-CSRF-Token': csrfToken,
'X-Requested-With': 'XMLHttpRequest', // 告诉服务器这是AJAX请求
'Accept': 'application/json',
'Content-Type': 'application/json' // 严格使用JSON交互
},
body: JSON.stringify(payload)
});

if (res.ok) {
// 尝试解析服务器返回的数据,看看是否真的成功
const resultData = await res.json().catch(() => ({}));
console.log(`✅ 取消跟踪成功: [${topic.id}] ${topic.title}`, resultData);
totalProcessed++;
} else {
console.error(`❌ 取消跟踪失败: [${topic.id}] 状态码 ${res.status}`);
}

// 每次请求后等待 1.5 秒,更稳妥一点
await delay(1500);
}

console.log("本批次处理完毕,等待2秒后检查下一批...");
await delay(2000);

} catch (error) {
console.error("请求过程中出现错误,脚本停止:", error);
isProcessing = false;
}
}
}

bulkUntrackTopics();

--- 第 2 楼来自 SourSweetTea 的回复 (2026-02-24 10:48:25 PST) ---

也可以在 偏好设置 - 跟踪 - 话题 - 自动跟踪我进入的话题 选 从不