2017-02-10 74 views
0

將iframe插入到帶有HTML內容而不是src屬性的TinyMCE中,對所有內容進行編碼並將其分解。TinyMCE iframe對內容進行編碼

如:

<iframe><p>hello</p></iframe>

會導致這樣當您再次查看源:通過查看源代碼或嵌入插件插入此

<iframe width="300" height="150" data-mce-fragment="1">&amp;lt;P&amp;gt;hello&amp;lt;/p&amp;gt;</iframe>

有什麼辦法請停止此操作或在init中導致此問題的設置?

如果有人想知道爲什麼我需要使用src這個,這是因爲我想爲Facebook的新即時文章格式化文章,需要嵌入帖子/微博等以<figure><iframe>[code]</iframe></figure>格式包裝。

+0

當我將您的HTML加載到TinyMCE中時,我不會收到您建議的轉義數據。你能用你的配置創建一個TinyMCE小提琴嗎? –

+0

@MichaelFromin我之前發現了這個問題的原因,我在下面將它添加爲接受的答案 – MrLewk

回答

0

我想通過在fiddle.tinymce.com上進行測試,試圖縮小問題的原因,我發現這是爲什麼。這個編碼問題沒有發生在小提琴上,所以我剝離了我自己的init,認爲它可能是codemirror插件,但它竟然是fontawesome 2.0.6插件(它現在在2.0.8上,但我不能得到該版本的工作,所以我不確定它是否改變了自2.0.6以來的工作方式)。

該插件在​​和GetContent上執行var content = parser.parseFromString(e.content, 'text/html');以執行一些不可編輯的類更改。這導致某些HTML元素在源代碼中被編碼。

長話短說,我刪除了解析器並修改了插件,解決了我的問題!