You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在浏览器扩展中打开Obsidian DeepLink且不新建标签/窗口?

点击Obsidian外部链接不新建窗口/标签的解决方案

针对你需要点击锚点打开obsidian://协议链接且不新建窗口/标签的需求,结合你已有的tabs、storage权限,同时避免hosts_permissions,提供以下可行方案:

1. 扩展内部页面中转(跨浏览器支持)

创建一个扩展内置的空白页面作为中转,复用当前标签页完成协议跳转:

  • 第一步:在扩展manifest.json中注册可访问的内部页面:
{
  "web_accessible_resources": [
    {
      "resources": ["redirect.html"],
      "matches": ["<all_urls>"]
    }
  ],
  "permissions": ["tabs"] // 你已拥有该权限
}
  • 第二步:创建redirect.html页面,处理协议跳转:
<!DOCTYPE html>
<html>
<head>
  <style>body{display:none;}</style>
</head>
<body>
<script>
  const targetUrl = new URL(window.location).searchParams.get('target');
  if (targetUrl) {
    // 触发协议链接
    window.location.replace(targetUrl);
    // 延迟关闭页面,确保请求发送成功
    setTimeout(() => window.close(), 150);
  }
</script>
</body>
</html>
  • 第三步:给锚点绑定点击事件,用当前标签页打开中转页面:
document.querySelector('a[href^="obsidian://"]').addEventListener('click', (e) => {
  e.preventDefault();
  const obsidianLink = e.target.href;
  const redirectPage = browser.runtime.getURL('redirect.html') + `?target=${encodeURIComponent(obsidianLink)}`;
  // 复用当前标签页导航到中转页
  browser.tabs.update({ url: redirectPage });
});

这个方案不会新建标签,中转页会自动触发Obsidian打开,随后快速关闭(或隐藏内容),不会留下无用页面。

2. Firefox专属:调整外部协议弹窗尺寸

Firefox提供了API可以修改外部协议确认弹窗的大小,需要在manifest.json中添加browserSettings权限:

{
  "permissions": ["browserSettings"]
}

然后执行代码调整尺寸:

// 设置弹窗为800x600像素,可根据需求修改
browser.browserSettings.openExternalLinkDialogSize.set({ value: [800, 600] });

Chrome没有类似API,无法调整该弹窗尺寸。

3. 补充:提前注册协议处理程序(减少弹窗频率)

使用navigator.registerProtocolHandler让浏览器记住Obsidian协议的关联,仅需用户手动授权一次,后续点击可能不再弹出确认框:

// 仅首次运行时执行
if (!localStorage.getItem('obsidian-protocol-registered')) {
  try {
    navigator.registerProtocolHandler(
      'obsidian',
      browser.runtime.getURL('redirect.html') + '?target=%s',
      'Obsidian'
    );
    localStorage.setItem('obsidian-protocol-registered', 'true');
  } catch (err) {
    // 处理浏览器不支持的情况
  }
}

注意Chrome要求注册的跳转地址必须是HTTPS域名,Firefox支持扩展内部页面。

内容的提问来源于stack exchange,提问作者ALegendsTale

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 03:18:31