我知道这个问题已经被问过很多次了,但我打开这个讨论是为了解决我的问题,并总结我们对这个话题的所有了解,以帮助未来的人们。
所以,我们走吧。我们要上传视频(例如来自 YouTube)。我们可以粘贴视频 url 或使用 MediaEmbed 按钮。
我们有两种可能。
我们可以在 editorConfig 中设置或不设置
mediaEmbed: { previewsInData: true }
没有previewsInData: true
我们得到这样的东西:
<figure class="media">
<oembed url="https://www.youtube.com/watch?v=something"></oembed>
</figure>
相反previewsInData: true
,我们得到了这样的东西
<figure class="media">
<div data-oembed-url="https://www.youtube.com/watch?v=vsl3gBVO2k4&ab_channel=H%C3%A9lderPalma">
<div style="position: relative; padding-bottom: 100%; height: 0; padding-bottom: 56.2493%;">
<iframe src="https://www.youtube.com/embed/vsl3gBVO2k4" style="position: absolute; width: 100%; height: 100%; top: 0; left: 0;" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen="">
</iframe>
</div>
</div>
</figure>
在这两种情况下,我都可以在我的 CKEditor 中看到 youtube 视频的预览。但是当我保存编辑器的内容并将其显示在我的演示页面中时,视频不会显示。
阅读论坛上的其他讨论,我无法弄清楚这是否只是我的问题。许多关于添加previewsInData: true
editorConfig 的解决方案,但对我来说绝对没有任何变化。
我认为标签figure
和oembed div
对CKEditor 显示视频预览很有用。我们知道这个预览就像一张图片,你不能播放视频,你不能在新页面中打开等等。这没关系,但我想在我的演示页面中看到视频。
那么,问题出在哪里?
- 演示页面上是否需要更改以显示视频?
- 我应该搜索图形标签并将其替换为 iframe 服务器端吗?
- 有任何想法吗?
我希望我们能找到一个永久解决这个问题的方法。