I believe this is possible now. The embed_url property can be set when you first create the topic. Our WordPress plugin does that here: wp-discourse/lib/discourse-publish.php at main · discourse/wp-discourse · GitHub. The embed_url property cannot be updated via the API after the topic has been created.
That’s fantastic! Looks like the API docs need to be updated then!
What would it take to get the property added to the update API method? That would let me solve this properly.
您好,我一直在努力使用此方法将我的博客帖子与论坛帖子关联起来。我似乎遇到了与其他一些用户在此处遇到的 iframe 内容安全策略类似的问题。我的博客由 Jekyll 生成,由 GitHub 托管,我的 Discourse 由 Digital Ocean 托管。它们的地址分别是 blendertube . com 和 forum.blendertube . com。
这是我的浏览器报告的错误:
因祖先违反了以下内容安全策略指令:“frame-ancestors ‘self’ blendertube.com”,拒绝嵌入“forum.blendertube.com/”。
这与我的 Discourse 实例的 SSL 有关吗?
以下是一些截图:
希望大家能帮帮忙。谢谢!
有人知道用 WordPress WooCommerce 产品页面的 URL 替换“current_page.url”的语法吗?我们希望这样做,这样就无需为每个页面自定义代码,并且可以轻松地将其应用于所有页面。
我尝试替换 discourseEmbedUrl 的自有域名值:'http://eviltrout.com<%= current_page.url %>,但这在 WP 上不起作用。
我认为我们可能需要新的 noindex, indexifembedded 标签
编辑 @codinghorror 认为这个想法很好,因为它曾用于类似的用例(嵌入主题)
我无法弄清楚以下情况是否/如何可能:
当 discourse 实例的默认主题为深色时,嵌入式主题如何能为浅色?
如果我的浏览器没有出问题,看起来 @codinghorror 的实现就是这样的。这是如何优雅地完成的?![]()
请注意,如果以后有人尝试此方法,当尝试将主题直接嵌入到相应的 Thinkific LMS 课程中时,discourseEmbedUrl 对我不起作用,但 topicId 方法有效。
我曾将此功能用于在我们 博客 中嵌入 Discourse 评论。最初一切都运行正常。我最近注意到,较新的博客(<1 年
)似乎存在一些问题,其中 slug 未按 此 案例生成,导致 超链接 不正确。
Slug 生成方法设置为 ascii,允许的主机设置为 www.gyandhan.com
<script type="text/javascript">
DiscourseEmbed = { discourseUrl: 'https://discussions.gyandhan.com/',
discourseEmbedUrl: '<%= request.original_url.split('?').first %>' };
(function() {
var d = document.createElement('script'); d.type = 'text/javascript'; d.async = true;
d.src = DiscourseEmbed.discourseUrl + 'javascripts/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(d);
})();
</script>
重申显而易见的一点是,我注意到的问题是嵌入创建的主题既没有 slug 也没有标题。我仍然不确定为什么会遇到这个问题。
大家好,如果这是个愚蠢的问题,我很抱歉——
据我所见,嵌入式体验只允许阅读帖子中的某些帖子,而不能在网站内与之互动,对吗?当你试图加载更多评论/回复或点击个人资料时,它会把你带回 Discourse。
是否有完全存在于第三方网站(而不是 Discourse)上的嵌入式体验版本?
当我的网站在深色和浅色模式之间切换时,我该如何通知嵌入部分切换颜色模式?
我将嵌入允许的主机配置如下:
但是,当我尝试为 iframe 的
body 添加类时,我发现 iframe.contentDocument 为 null,并且如果使用 document.getElementById("discourse-embed-frame").contentWindow.document,则会出现如下错误:我该如何提供一个特定的字符串嵌入到站点中,以便 Discourse 使用它作为创建帖子的标题(或至少是 slug)?我嵌入的 URL 格式为 example.com/12345,其中包含文本内容,而帖子最终会使用内容中的词语,但我希望使用“12345”。
它没有从文档中读取 <title> 标签吗?
嗯,那倒是说得通。我的标题比“12345”更花哨,而且可能会随着时间而改变,而“12345”则会保持稳定。这就是为什么我想使用那个。
我进行了一些测试:抓取器确实获取了 <title>text</title>。将其设置为 <title>12345</title>,并使用 HTML 文档底部的 <script>document.title = "fancy title";</script> 为人类客户端覆盖它,效果很好。创建的线程使用“12345”作为标题和 slug URL,而人类在嵌入发生的页面上看到一个漂亮的标题。
感谢提示!
大家好,
我想知道是否可以通过 #标签 来获取任何主题的帖子?
例如,在主(非 Discourse)网站上,我们有一个页面,其名称为“我的节目”(/myshow)。
同样,在我们的 Discourse 实例中,有很多关于“这个节目”的主题,它们都有相同的标签 #theshow,人们可以根据季节或活动进行导航。
这个想法是能够获取带有 #theshow 标签的所有主题的最新帖子。是否可以这样做?
我们最接近的功能是获取特定标签下按活动排序的所有主题,请查看 Embedding a list of Discourse Topics in another site
如何防止在嵌入式评论中出现像 Jeff 的博客那样的第一条帖子?
编辑: 我正在使用 arivanandan/discourse-embed-complete: 在嵌入 discourse 时包含第一条帖子
如果我想在一个页面中嵌入多个主题的评论,该如何操作?



