我正在与CKEditor 4挣扎,试图让YouTube视频显示出来。我已经使用标准的iFrame按钮添加了url和embed代码,但是当我启动网页时,我只是得到了一个空白的视频空间。
这是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或其他东西来转变&#34; raw&#34;将iFrame代码转换为标准的HTML iFrame代码?
更新3:
我设法在来自CKEditor iFrame的所有数据cke-realelement上使用URI.decode,最终得到了一些更好但仍然不完美的东西:(我还缺少一些细节......见下面是更新的输出:
<img class="cke_iframe" data-cke-realelement='<iframe src="http://www.nickmartin.com" width="200" height="200" scrolling="no" frameborder="0"></iframe>' 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;">
答案 0 :(得分:3)
问题是你如何获得编辑的价值?因为您的安装已完全中断或您使用其他内容而不是editor.getData()
。
请记住:不要直接从可编辑元素中检索HTML。