在群组描述中嵌入视频

目前,您可以在主题中嵌入来自 YouTube 和 Vimeo(可能还有其他平台)的视频。

如果我也能在群组描述(即群组的“关于”部分)中嵌入 YouTube 或 Vimeo 链接,那就太棒了。看起来目前这一功能尚未内置——如果我在“关于”部分发布一个 YouTube 视频链接,它只会显示链接,而不会执行嵌入操作。

因此,我推测需要在主题或插件中进行修改。目前我在插件中尝试实现但尚未成功。您是否有建议或伪代码可以帮助我推进这项工作?这对我的使用场景将非常有帮助。

我仅在本地站点上测试过此功能,但看不出它在生产站点上为何无法运行。你可以使用 YouTube 的 iframe 嵌入代码将 YouTube 视频添加到群组描述中。具体操作是:将嵌入代码中的 iframe src 复制到 Discourse 的“允许的 iframe”站点设置中,然后将完整的嵌入 iframe 代码复制到群组的“关于群组”表单中。

类似的方法也应适用于 Vimeo 视频。

好主意,谢谢。我明天试试。我之前试过直接把 iframe 代码放进去,但没有同时调整网站设置以允许该 iframe。

既然您已经尝试添加了 iframe 代码,在将其 src 添加到“允许 iframe”设置后,您可能需要通过对“关于群组”部分进行小幅编辑并保存更改来清除缓存。

这在 YouTube 上可以正常工作!谢谢!你知道如何让嵌入内容响应式吗?

供其他人参考,我是这样做的:

  1. 在设置 / 允许的 iframe 中,添加 https://www.youtube.com/embed/
  2. 在群组简介描述中,直接添加 iframe 代码(出于清除缓存的原因,你可能还需要对文本进行其他修改并保存)。示例 iframe 代码:
    <iframe width="560" height="315" src="https://www.youtube.com/embed/CTsB-llTzyc" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

但是:如何让 iframe 响应式?通常的建议是将 iframe 包裹在一个 div 中,并给它一个类名,例如“iframe-container”,然后添加如下 CSS:

.iframe-container {
   overflow:hidden;
    padding-bottom:56.25%;
    position:relative;
    height:0;
}

.iframe-container iframe{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}

我认为这段 CSS 没问题,但不知何故,当我在群组简介部分将 iframe 包裹在 div 中并给该 div 添加类名时,类名在显示的文本中并没有保存。因此,在检查器中查看时,它只显示一个没有类名的 div。所以 CSS 没有被应用,iframe 也不是响应式的。有什么解决办法吗?