Cors获得Gists的选项



我试图用github脚本嵌入我的gist。我有一个NodeJS ExpressJS应用程序,创建一个静态页面并粘贴github.gist生成的脚本标记。现在我得到了一个错误:

my-website:35 Cross-Origin Read Blocking (CORB) blocked cross-origin response https://gist.github.com/PinkyRabbit/7f2db625ae53d799b5ecc4b710c65644 with MIME type text/html. See https://www.chromestatus.com/feature/5629709824032768 for more details.

我试着用cors模块允许cors,但即使我使用默认设置为所有域cors()打开cors——没有任何变化,github.gists仍然被阻止。

Gist似乎支持RawGit 上的CORS

curl -I https://raw.githack.com/gist/Rapptz/c4324f17a80c94776832430007ad40e6/raw/c92df8492be3679635dee0e80273b2ffb6a64cbf/dpy_development_plans.md
HTTP/1.1 200 OK
Date: Sun, 06 Mar 2022 06:56:13 GMT
Content-Type: text/markdown; charset=utf-8
...
Access-Control-Allow-Origin: *

不过有很多陷阱,所以请仔细阅读链接。

我遇到了同样的问题,我的解决方案是替换iframe标签的初始内容

data:text/html;charset=utf-8,
<head>
<base target='_blank' />
</head>
<body>
<script src='${this.gist_link}'></script>
</body>

带有:

data:text/html;charset=utf-8,
<head>
<base target='_blank' />
</head>
<body>
<script src='${this.gist_link}.js'></script>
</body>

不同之处在于";。js";在gist链接的末尾,这样github就可以发送请求的特定资源类型

最新更新