问题背景

在 Obsidian 插件中发起 HTTP 请求时,可能会遇到浏览器的 CORS(跨域资源共享)限制。

讨论与方案

Obsidian 是一款 Electron 应用,这意味着它本质上是 Chrome 引擎。您需要像处理其他客户端跨域请求一样处理 CORS,正如错误提示所示。

你可以尝试 no-cors 在 fetch 请求中抛出异常。或者 Google 用 fetch 来处理 cors。

如果你想快速找到路由,可以查找“cors everywhere”。不过我不会在任何地方发布带 cors 的插件,因为它很容易崩溃。

说实话,搭建 Glitch 服务器非常快捷方便。只需使用 Express 模板,并将跨浏览器抓取功能移到 Glitch 应用中即可。