2013-03-16 49 views
1

我正在使用CKEditor 4.0.1.1在Intranet中,並嘗試使用W3C標記驗證服務驗證我的代碼。ckeditor生成的代碼W3C驗證:沒有屬性「data-cke-saved-src」

驗證標記服務找到此錯誤:

錯誤行547列2455:沒有屬性 「數據CKE保存的-SRC」

<img alt="" data-cke-saved-src="http://portail-rep/Contents/images/Java… 

如何我可以禁用ckeditor保護代碼的這種功能,使我的代碼可以進行W3C驗證嗎?

+0

[防止CKEditor添加'data-cke-saved'並轉換&lt;(http://stackoverflow.com/questions/6177667/preventing-ckeditor-from-adding-data-cke-saved-) -converting-lt) – nwellnhof 2013-03-16 17:53:24

+0

請注意,您可以在ckeditor演示中重新添加一張圖片:轉到源代碼然後返回到編輯器,生成的代碼是: 2013-03-17 00:15:03

回答

2

CKEditor使用許多特殊的屬性和元素來實現它的一些功能。但是,它們僅用於內部,因此在獲取數據時應該剝離editor.getData()。因此編輯器產生有效的標記。

E.g.打開http://ckeditor.com/demo,切換到源模式,您將看到該圖像沒有data-cke-saved-src屬性。但是,如果您使用Firebug或Webkit的開發工具,則會發現圖像具有此屬性。

PS。實際上,data-cke-saved-src是HTML5中的valid attribute

1

我現在有同樣的問題。此問題已通過使用CKEDITOR配置on blur event解決。

我在元素上使用內嵌編輯。
我的ck config包含關於具有銷燬方法的模糊事件。

CKEDITOR.config.on = { 
    blur: function() { 
    this.destroy(); 
    } 
} 

使用很簡單:
元素上點擊將創造新的編輯器的實例,並使其能內嵌編輯。
現在,如果用戶單擊編輯器外部和調用模糊事件,編輯器會自行銷燬它,如果不存在編輯器實例,則會從data-cke屬性中清除數據的內容。