← Todos los ejemplos

JavaScript Privacidad substack.com

Substack: bloquear el indicador "follow"

Intercepta fetch, XHR y sendBeacon para que Substack no informe vistas ni seguimientos.

Código para copiar

// 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);
    };
  }
})();

Cómo usar este ejemplo

  1. Copia el código con el botón de arriba.
  2. Instala JustZix (2 minutos) y abre la extensión en la página de destino.
  3. Añade una nueva regla que coincida con esa página.
  4. Pega el código en el panel JavaScript de la regla y guarda — se ejecuta en cada visita a la página.

Valora este ejemplo

Sin valoraciones — sé el primero.

¿Funciona este ejemplo?

Los snippets son inútiles sin un lugar donde pegarlos.

JustZix se instala en 2 minutos y ejecuta tu código en cada página coincidente. Sin cuenta, sin pago.

Descargar gratis Ver casos de uso