2

我正在努力使用 CKEditor 4 并试图让 YouTube 视频出现。我已经使用标准的 iFrame 按钮来添加 url 和嵌入代码,但是当我启动网页时,我只是在视频应该出现的地方得到一个空白区域。

这是 CKEditor iFrame 生成的实际代码:

<img class="cke_iframe" data-cke-realelement="%3Ciframe%20src%3D%22http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D0Bmhjf0rKe8%22%20width%3D%22480%22%20height%3D%22360%22%20scrolling%3D%22no%22%20frameborder%3D%220%22%3E%3C%2Fiframe%3E" data-cke-real-node-type="1" alt="IFrame" title="IFrame" align="" data-cke-saved-src="http://www.magboy.co/assets/ckeditor/plugins/fakeobjects/images/spacer.gif?t=D6IE" src="http://www.magboy.co/assets/ckeditor/plugins/fakeobjects/images/spacer.gif?t=D6IE" data-cke-real-element-type="iframe" data-cke-resizable="true" style="width:480px;height:360px;">

它确实看起来很奇怪,但不确定它是否应该从 CKEditor 中看到?

无论我尝试什么,我都无法在从 CKEditor 创建的 HTML5 网页中播放 YouTube 视频。有人对从哪里开始寻找有一些想法吗?请让我知道哪些附加信息可以帮助找到解决方案 - 谢谢!

更新1:

更多信息:我正在构建一个 Ruby on Rails 应用程序并使用以下 gem: https ://github.com/galetahub/ckeditor

我还在我的 config.js 文件中添加了以下内容:

CKEDITOR.config.allowedContent = true; 

我还应该补充一点,我正在使用 INLINE CKEDITOR。我刚刚尝试在他们的网站上测试完整的演示,如果我点击查看源代码按钮,那么它会正确转换为 iframe 代码。所以在某个地方我无法将此 CKEditor 代码转换为 HTML?

更新 2:

在做了一些挖掘之后,我想我已经找到了问题的原因。似乎 CKEditor 正在做它应该做的事情,但是当我保存可编辑区域的内容时,我会按原样保存代码。我缺少某种 decodeURIComponent 或将“原始”iFrame 代码转换为标准 HTML iFrame 代码的东西?

更新 3:

我设法在 CKEditor iFrame 中的所有 data-cke-realelement 上使用 URI.decode 并最终得到了一些更好但仍然不完美的东西:(我仍然缺少一些细节......请参阅下面的更新输出:

<img class="cke_iframe" data-cke-realelement='&lt;iframe src="http://www.nickmartin.com" width="200" height="200" scrolling="no" frameborder="0"&gt;&lt;/iframe&gt;' data-cke-real-node-type="1" alt="IFrame" title="IFrame" align="" src="http://0.0.0.0:3000/assets/ckeditor/plugins/fakeobjects/images/spacer.gif?t=D6IE" data-cke-real-element-type="iframe" data-cke-resizable="true" style="width:200px;height:200px;">
4

1 回答 1

3

问题是您如何获得编辑器的价值?因为要么您的安装完全损坏,要么您使用其他东西editor.getData()

请记住:不要直接从可编辑元素中检索 HTML

于 2013-10-16T07:01:00.527 回答