regex
  • ckeditor
  • 2014-12-02 65 views 0 likes 
    0

    的CKEditor 4.3.5(通過Wygwam插件在ExpressionEngine使用)獲取CKEditor的離開HTML5「視頻」標籤「數據設置」屬性不變

    我需要讓客戶端這樣的內容添加到CKEditor的現場:

    <video id="video1" class="video-js vjs-default-skin" width="495" height="346" data-setup='{"controls" : true, "autoplay" : false, "preload" : "auto"}'> 
        <source src="video.flv" type="video/x-flv"> 
    </video> 
    

    但節省了第一次上面的代碼被更改爲此後:

    <video class="video-js vjs-default-skin" data-setup="{&quot;controls&quot; : true, &quot;autoplay&quot; : false, &quot;preload&quot; : &quot;auto&quot;}" height="346" id="video1" width="495"> 
        <source src="video.flv" type="video/x-flv" /> 
    </video> 
    

    和保存它被更改爲此後第二次:

    <video :="" class="video-js vjs-default-skin" data-setup="{" height="346" id="video1" width="495"><source src="video.flv" type="video/x-flv" /></video> 
    

    停止video.js工作!

    已經提出的一種解決方案是使用'protectedSource',但我無法得到它的工作。

    我已經添加了這config.js:

    CKEDITOR.config.protectedSource.push(/<video[\s|\S]+?<\/video>/g); 
    

    是protectedSource要爲這方面的工作?

    [編輯:對不起粘貼錯誤的項目 - 「extraAllowedContent」,應該是「protectedSource」作爲現在顯示]

    什麼是我應該添加爲protectedSource值正確的正則表達式?

    +0

    什麼需要精確轉換? – sp00m 2014-12-02 12:35:17

    +0

    對不起,我不確定你的意思,什麼都不需要改變,ckeditor正在將'data-setup'屬性中的引號改爲實體,我想阻止它發生。 – wot 2014-12-02 12:49:03

    回答

    0

    這可能是ckeditor在將內部引號轉換爲實體時行爲正常,並且可能是Wygwam有一個導致正在破壞的「額外」轉換(當它被第二次保存時)的錯誤代碼(但是這些點都不能解答我的問題)。

    我找到了解決辦法;而不是象我被建議做的那樣(')在config.js中將'protectedSource'代碼添加到函數'CKEDITOR.editorConfig'中,而是將它添加到函數之外,並且它工作正常。

    0

    CKEditor的轉變:

    data-setup='{"controls" : true, "autoplay" : false, "preload" : "auto"}'> 
    

    到:

    data-setup="{&quot;controls&quot; : true, &quot;autoplay&quot; : false, &quot;preload&quot; : &quot;auto&quot;}" 
    

    並沒有什麼不妥。它仍然是具有相同值的相同屬性,所以我不明白問題所在。

    +0

    它停止video.js工作!第二次編輯條目,代碼變得更加混亂。 – wot 2014-12-02 13:53:14

    +1

    這是不正確的。至少不是用於正常的CKEditor設置。我加載了未編碼的數據,切換到WYSIWYG模式並返回到源模式。該屬性按預期編碼。我再次切換,現在不變。此外,閱讀屬性的作品 - 'CKEDITOR.instances.editor1.editable()。findOne('video').data('setup') - > 「{」controls「:true,」autoplay「:false,」preload 「:」auto「}」'。 – Reinmar 2014-12-02 16:37:03

    +0

    我可以說什麼,這是我的設置 – wot 2014-12-02 16:42:26

    相關問題