← 全部示例

JavaScript 隐私 substack.com

Substack:屏蔽「关注」状态上报

拦截 fetch、XHR 与 sendBeacon 请求,避免 Substack 上报你的浏览或关注状态。

可复制的代码

// Suppress the "follow" indicator/beacon network calls
(function () {
  var BLOCK = [/\/api\/v1\/follow/i, /\/api\/v1\/notes\/.*\/seen/i, /\/api\/v1\/email\/seen/i];
  function blocked(url) { return BLOCK.some(function (rx) { return rx.test(url); }); }
  if (window.fetch) {
    var orig = window.fetch;
    window.fetch = function (input, init) {
      var u = typeof input === 'string' ? input : (input && input.url) || '';
      if (blocked(u)) { return Promise.resolve(new Response('', { status: 204 })); }
      return orig.call(this, input, init);
    };
  }
  var OrigXHR = window.XMLHttpRequest;
  if (OrigXHR) {
    var Patched = function () {
      var x = new OrigXHR();
      var open = x.open;
      x.open = function (m, u) {
        if (typeof u === 'string' && blocked(u)) { this.__jzBlocked = true; }
        return open.apply(this, arguments);
      };
      var send = x.send;
      x.send = function () {
        if (this.__jzBlocked) { return; }
        return send.apply(this, arguments);
      };
      return x;
    };
    Patched.prototype = OrigXHR.prototype;
    window.XMLHttpRequest = Patched;
  }
  if (navigator.sendBeacon) {
    var sb = navigator.sendBeacon.bind(navigator);
    navigator.sendBeacon = function (url, data) {
      if (blocked(String(url || ''))) { return true; }
      return sb(url, data);
    };
  }
})();

如何使用此示例

  1. 用上方按钮复制代码。
  2. 安装 JustZix(2 分钟),在目标页面打开扩展。
  3. 添加一条匹配该页面的新规则。
  4. 将代码粘贴到规则的 JavaScript 面板并保存 — 每次访问页面时都会运行。

为此示例评分

暂无评分 — 成为第一个。

此示例有效吗?

没有可粘贴的地方,代码片段毫无用处。

JustZix 安装只需 2 分钟,并在每个匹配的页面上运行你的代码。无需账户、无需付费。

免费下载 查看应用场景