我相信您必须在 app.yml 的 env 部分(某个位置)设置 DISCOURSE_ENABLE_CORS: true。
它不应该为 discourse 设置 DISCOURSE_ENABLE_CORS 变量吗?
我不确定您在说什么,但请尝试执行建议的操作。我很确定您只需执行 ./launcher destroy app;./launcher start app 而不是完全重建。
感谢您的回复。抱歉之前没有说清楚。
我正在使用 Discourse 托管实例,并打算将 Discourse 嵌入到我的网站中。当我尝试获取嵌入式 Discourse 的 iframe 的 contentDoument 对象时,我遇到了跨域限制。在管理员设置页面,我注意到有“cors origins”设置,如图所示。然后我添加了我的测试源 URL,但没有生效。我注意到提示是 DISCOURSE_ENABLE_CORS 环境变量必须设置为 true 才能启用 CORS。 但是,我在管理员设置中找不到设置 DISCOURSE_ENABLE_CORS 的位置。
我想知道如何设置 DISCOURSE_ENABLE_CORS,或者我的跨域配置不起作用是否与此设置有关。
嵌入不是我的强项,但我认为您应该在 /admin/customize/embedding 中设置它,而不是更改环境变量?
谢谢您的回复。我试过了,但没用。
如果你希望我们提供帮助,你需要详细说明你尝试过的内容。
我认为你不能这样做。
有一个隐藏的站点设置允许嵌入 iframe,但我怀疑它在标准或商业计划中不可用。你可以联系你的支持联系人进行咨询。
在 iframe 中嵌入 Discourse 并非官方支持。
iframe 是由官方 JavaScript 脚本创建的。我正在使用 /admin/customize/embedding 上提供的代码,如下所示:
我需要将嵌入的部分与我网站的颜色模式保持一致,因此我必须访问 iframe,即使 iframe 不是我创建的。
@mikeguo 您正尝试将 Discourse 主题嵌入到哪个网站平台?
请提供目标网站上帖子的网址。
我只能看到这个(来自您帖子中代码的截图):
https://e53c-185-143-220-5.eu.ngrok.io/
因此,例如,我使用了此帖子中描述的 DISCOURSE_ENABLE_CORS 环境变量,将内容从我的 Discourse 论坛显示在我的 Ghost 博客的页面上……
但是,您似乎想从上面发布的帖子中的代码使用的功能……
……似乎表明您正尝试将 Discourse 论坛中的主题嵌入到外部网站中作为帖子,这是一个不同的用例。
我们需要您更好地解释您在这里想做什么……
非常感谢您详细的解释。
https://algo.monster 是我想嵌入 Discourse 的网站。具体来说,
我想在文章页面嵌入 Discourse 来显示评论,并替换掉我正在使用的 Cusdis。例如,
文章 https://algo.monster/problems/math-basics,以及评论:
我的网站
https://algo.monster 不使用博客平台,既不是 Wordpress 也不是 Ghost。我的网站是用我自己的代码实现的,并部署在我自己的云服务器上。使用
/admin/customize/embedding 上提供的代码,嵌入的 Discourse 显示正常。我希望通过配置
DISCOURSE_ENABLE_CORS 来解决的问题如下:
这个 URL 是我用于测试的,不应该引起跨域问题。
感谢 @mikeguo – 你在脚本片段的 discourseEmbedUrl 中填入了什么,而不是“REPLACE_ME”?
再次感谢 @mikeguo – 很抱歉,这已经超出了我进一步提供帮助的能力……希望这里的其他人能提供建议……
还是谢谢你的帮助 ![]()





