我的社区主要围绕艺术家发布音乐供他人收听而建立。
当用户发布 SoundCloud 链接时,iframe 可以完美运行。然而,似乎 Spotify 曲目和播放列表没有自动 iframe 功能。
如果可行的话,我该如何设置?我拥有所有来自 Spotify 的嵌入代码,但不确定如何在 Discourse 中配置。
谢谢!
我的社区主要围绕艺术家发布音乐供他人收听而建立。
当用户发布 SoundCloud 链接时,iframe 可以完美运行。然而,似乎 Spotify 曲目和播放列表没有自动 iframe 功能。
如果可行的话,我该如何设置?我拥有所有来自 Spotify 的嵌入代码,但不确定如何在 Discourse 中配置。
谢谢!
SoundCloud 的 onebox 在 Discourse 上运行良好。对于 Spotify,如果你在 Discourse 帖子中添加歌曲或播放列表的链接,它会创建一个 onebox,但不会生成 Spotify 播放器。
你可以通过在网站的“允许的 iframe”站点设置中添加 https://open.spotify.com/embed/,允许用户在 Discourse 帖子中添加 Spotify 嵌入代码(iframe)。这将创建一个音频播放器,让用户可以收听 30 秒的曲目片段。
我肯定会考虑为我的用户开放 iframe 功能。
是否有一种方法可以将普通的 Spotify 链接自动转换为可嵌入的 iframe?我曾使用过一段时间 Invision Power Board,其软件可以为包括 Spotify 在内的多种媒体服务生成可嵌入内容。不过,我了解到他们的软件价格昂贵且并非开源。
从技术上讲是可行的,但我不确定是否值得依赖这种方法。以具体操作为例,Spotify 链接 https://open.spotify.com/track/39zWYYZStDgWi32sOU9AX4?si=BLFB8HxuQNC-OaHtwD_E4A 可以通过在链接路径中添加 /embed,然后将该 URL 用作 iframe 的 src 来转换为 iframe:
<iframe src="https://open.spotify.com/embed/track/39zWYYZStDgWi32sOU9AX4?si=BLFB8HxuQNC-OaHtwD_E4A"></iframe>
好主意,是的,这看起来确实可行。你知道需要编辑哪些文件才能达到这样的效果吗?如果我知道这些文件,我相信我自己就能编写代码实现!
如果您的 Discourse 网站是自行托管的,我认为最好的方法是创建一个 Spotify onebox 插件。如果您在 Spotify 页面上打开网页检查器,您会看到创建 Spotify iframe 播放器所需的数据存在于页面的 meta 标签中。您可能需要使用键盘快捷键来打开网页检查器,因为 Spotify 似乎会阻止右键点击。
您可以在这里找到创建 onebox 的示例:https://github.com/discourse/onebox。