【问题标题】:Ckeditor embedding mediaCKeditor 嵌入媒体
【发布时间】:2018-02-19 13:19:29
【问题描述】:
【问题讨论】:
标签:
ckeditor
media
embedding
【解决方案1】:
嵌入插件的工作方式是从响应中获取 HTML 并插入到 CKEditor 中。
如果是 YouTube,你会得到这样的 HTML:
<div style=\"left: 0; width: 100%; height: 0; position: relative; padding-bottom: 56.2493%;\"><iframe src=\"https://www.youtube.com/embed/H08tGjXNHO4?rel=0&showinfo=0\" style=\"border: 0; top: 0; left: 0; width: 100%; height: 100%; position: absolute;\" allowfullscreen scrolling=\"no\"></iframe></div>
如您所见,有一个 iframe 指向 https://www.youtube.com/embed/H08tGjXNHO4?rel=0&amp;showinfo=0,您可以看到的预览实际上是该 iframe 的内容。
如果是http://www.bbc.com/news/technology-43127533 之类的 BBC 链接,您将获得以下 HTML:
<div class=\"iframely-embed\"><div class=\"iframely-responsive\" style=\"padding-bottom: 56.2493%; padding-top: 120px;\"><a href=\"http://www.bbc.com/news/technology-43127533\" data-iframely-url=\"https://cdn.iframe.ly/KpRiZX7\">AI ripe for exploitation, experts warn</a></div></div><script async src=\"https://cdn.iframe.ly/embed.js\" charset=\"utf-8\"></script>
如您所见,没有像 youtube 那样的 iframe,但有一个 script。问题是出于安全原因,脚本被阻止在编辑器内容区域内,因此查看 BBC 最终结果的唯一方法是使用 Preview Button