← 全部示例

JavaScript 效率 mastodon.social

Mastodon:在新标签页打开外部链接

让嘟文中的外部链接在新标签页打开,时间线保持可见。

可复制的代码

// Force external links in posts to open in a new browser tab
(function () {
  function patch() {
    document.querySelectorAll('.status__content a[href^="http"], .detailed-status__content a[href^="http"]').forEach(function (a) {
      if (a.dataset.jzNewtab) { return; }
      var url;
      try { url = new URL(a.href); } catch (e) { return; }
      if (url.host === location.host) { return; }
      a.dataset.jzNewtab = '1';
      a.target = '_blank';
      a.rel = 'noopener noreferrer';
    });
  }
  patch();
  var obs = new MutationObserver(patch);
  obs.observe(document.body, { childList: true, subtree: true });
})();

如何使用此示例

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

为此示例评分

暂无评分 — 成为第一个。

此示例有效吗?

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

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

免费下载 查看应用场景