2012-06-06 52 views
0

我一直在使用允許用戶創建和編輯內容的可編輯iframe處理HTML編輯器。我發現iframe中生成的HTML取決於正在使用的瀏覽器。例如,在IE和Opera中,文本塊被<p>標籤包圍;創建一個跨瀏覽器的可編輯iframe

<p>Hello world!</p> 

在Firefox中,文本塊以<br>標籤結尾;

Hello world!<br> 

而在Safari和Chrome中,文本塊被<div>標籤包圍;

<div>Hello world!</div> 

如果用戶在一個瀏覽器創建內容,並試圖在另一對其進行編輯,並可以隨時間導致HTML代碼不一致這可能是有問題的。

我發現一些HTML編輯器可以生成相同格式的HTML,而不管瀏覽器在使用什麼。例如,在CKEditor中,文本塊總是被<p>標籤包圍,從而允許在任何瀏覽器中清晰地創建和編輯HTML。

是否有強制iframe使用特定HTML標記的方法,當有人創建新的段落或文本塊時,主要僅創建<p>標記,而不管瀏覽器如何?任何人都可以爲我提供任何提示,代碼示例或對我的問題的解決方案嗎?我知道我可以使用現有的HTML編輯器,但這只是我感興趣的這個特定方面。

任何幫助,將不勝感激。謝謝。

回答

0

有沒有一種簡單的方法。 CKEditor等通過添加大量自定義事件處理來實現。我建議看看他們的源代碼獲取靈感。

有一個specification for HTML Editing已經達到了一個合理的完成水平,但據我所知,目前爲止瀏覽器開發者沒有多少努力來實現它。

+0

你知道任何在線代碼片段,可以幫助我創建諸如事件處理程序嗎?到目前爲止,我可以用最好的方法來捕獲鍵盤輸入,並在按下回車鍵時插入空白段落標籤。 – siberiantiger

+0

沒有,我會推薦。從我的記憶中試圖自己解決一次,這是一個比看起來更難的問題。 –