← 全部文章

教程

隐私卫生:用 JustZix 剥离追踪参数

你点击和分享的每个链接都被追踪参数装饰——utm_sourcefbclidgclid 之类。它们对你毫无作用,对分析仪表盘却作用十足。有了 JustZix,你可以在本地剥离它们,这样你复制的 URL 和你跟随的链接都是干净的。这仅仅是防御性卫生:没有要规避的拦截列表,没有伪造的请求——只是更整洁的 URL。

在页面加载时清理地址栏

新建一条带像 *://*/* 这样宽泛匹配的 JavaScript 规则(或把它限定到你关心的网站)。这条规则使用 History API 就地重写当前 URL,移除已知的追踪键而不重新加载页面。

const JUNK = [
  'utm_source','utm_medium','utm_campaign','utm_term','utm_content',
  'fbclid','gclid','dclid','msclkid','mc_eid','mc_cid','igshid',
  'ref_src','ref_url','vero_id','oly_enc_id','_hsenc','_hsmi'
];

const url = new URL(location.href);
let changed = false;
for (const key of JUNK) {
  if (url.searchParams.has(key)) {
    url.searchParams.delete(key);
    changed = true;
  }
}
if (changed) {
  history.replaceState(null, '', url.toString());
}

没有任何东西离开浏览器。history.replaceState 只更新地址栏和 location.href 的值——所以当你复制 URL 时,它已经是干净的。

从你点击的链接中擦掉追踪参数

页面上满是预先打上追踪参数标签的出站链接。这条 JS 规则遍历页面上的每个锚点,从它的 href 中移除垃圾参数,这样复制的链接或中键点击打开的都是干净的。

const JUNK = ['utm_source','utm_medium','utm_campaign','utm_term',
  'utm_content','fbclid','gclid','msclkid','igshid'];

function cleanLink(a) {
  let u;
  try { u = new URL(a.href, location.href); }
  catch (e) { return; }
  let changed = false;
  for (const key of JUNK) {
    if (u.searchParams.has(key)) { u.searchParams.delete(key); changed = true; }
  }
  if (changed) a.href = u.toString();
}

function scan() {
  document.querySelectorAll('a[href]').forEach(cleanLink);
}

scan();
new MutationObserver(scan).observe(document.body, {
  childList: true, subtree: true
});

MutationObserver 在新链接出现时重新扫描,这在无限滚动页面上很重要。它只编辑已在 DOM 里的 href 属性——它绝不打开连接。

隐藏追踪像素

追踪像素是纯粹为了登记一次浏览而加载的微小隐形图片。一条 CSS 规则无法阻止已经发出的请求,但它能让残留的 1×1 图片在视觉上无关紧要,并确认页面上有什么。新建一条限定到 *://*/* 的 CSS 规则。

/* 折叠经典的 1x1 追踪像素 */
img[width="1"][height="1"],
img[src*="/pixel"],
img[src*="/track"],
img[style*="width: 1px"] { display: none !important; }

对于真正的网络层拦截,你仍然需要一个专用的内容拦截器——这条规则关乎整理和可见性,而非拦截。

整理"复制链接"的输出

有些网站在你使用它们的分享按钮的那一刻就追加一个推荐标签。一条 JS 规则可以拦截剪贴板写入并清理它。把它限定到那个特定网站并保持精简。

const JUNK = ['utm_source','utm_medium','utm_campaign','fbclid','igshid'];

document.addEventListener('copy', (e) => {
  const text = (window.getSelection() || '').toString();
  if (!/^https?:\/\//.test(text.trim())) return;
  try {
    const u = new URL(text.trim());
    JUNK.forEach(k => u.searchParams.delete(k));
    e.clipboardData.setData('text/plain', u.toString());
    e.preventDefault();
  } catch (err) { /* 不是 URL,保持原样 */ }
});

这只在选中的文本是单个 URL 时才动作,而且它写入的是你自己触发的剪贴板。它是一种便利,而非一个拦截层。

保持防御性

这里的一切都留在你的机器上:重写你自己的地址栏、编辑可见的链接属性、隐藏残留的像素。这一切都不会伪造流量或违反网站的条款。它只是意味着你分享的 URL 不携带别人的分析 ID。

在我们的现成示例里查看更多注重隐私的配方,并把这个与社交信息流整理指南搭配。下载 JustZix,从地址栏清理器开始。

为这篇文章评分

暂无评分 — 成为第一个。

自己动手试试

安装 JustZix,粘贴本文中的任意代码片段。两分钟,从零到一条在你所有设备上生效的规则。

获取 JustZix

功能 · 工作原理 · 示例 · 应用场景