2009-06-05 58 views
5

問題:我用豐富的編輯器使用Drupal,豐富的編輯喜歡通過刪除縮進和格式來打破我的文本。這在桌面編輯器中是不可接受的,但人們似乎對瀏覽器內部的wyswigs容忍這一點。如何獲得tinymce(瀏覽器內「豐富的編輯器」)來保存縮進

問題:如何關閉此功能。我搜索了四周,但我還沒有發現告訴富有編輯保留縮進和文本格式的最佳做法。

回答

3

添加該配置TinyMCE的初始化腳本

tinymce.init({ 
    protect: [/[\n\f\r\t\v]/g] 
}); 
1

發生這種情況的原因是富編輯器實際上是一個xhtml編輯器。 在xhtml中,大多數標籤將(除PRE標籤外)默認情況下將多個空格字符合併到一個空格中。

要tinyMCE的克服這一點,你需要創建一個包含樣式表:

* {white-space: pre;} 

和初始化編輯器時,引用樣式表作爲content_css。 請注意,雖然您將保留自己的格式,但由於HTML空白間隔的原因,它將不再是所見即所得。

另一個選擇是將你的代碼包裝在一個PRE元素中,但是在tinyMCE中默認沒有這樣做的按鈕(或者我相信)。

編輯:

正如mikl提到,tinyMCE的也有configuration option for preformatted

1

有一個在TinyMCE的prefrerences「格式化過的」設置(在這種情況下,通過WYSIWYG module,但它的存在在TinyMCE模塊)。它應該做的伎倆。

Screenshot of setting http://www.quicksnapper.com/files/3603/2949292644A2CF2A72BC21_m.png

+3

這絕對是一個漂亮的屏幕截圖。不幸的是,它不起作用,至少不適合我。只要「豐富的編輯器」在瀏覽器textarea上調用,GUI控件中的標記就會立即剝離空間並呈現爲可怕的「單行HTML,並且根本沒有空白保留」。 – dreftymac 2009-06-08 16:10:46

+1

+1我不敢相信我之前忽略了預先格式化的配置選項!謝謝你的寶石! – Matt 2009-06-08 17:50:35

+0

不,它也不適用於我。我不知道爲什麼不...... whitespace_elements`在更改日誌,但我還沒有發現的文件,此事似乎並沒有任何工作 – 2010-04-12 20:01:14

2

這可能不是你在尋找什麼,但Drupal的htmlpurifier模塊可以整理一下HTML,讓你的HTML標準兼容。它可能會刪除縮進,但它非常有用。

另一個更簡單的模塊是htmltidy,不知道它是否可以保留縮進。

0

我一直在尋找TinyMCE的同樣的答案,甚至截至2015年5月,TinyMCE的作者都認爲空白剝離了一個特徵。它不能被禁用,即使文檔指示配置選項preformatted將保留空白,如<pre>標籤。我還沒有得到它的工作,或其他任何東西,我相信文檔必須在代碼中描述一個功能。

http://community.tinymce.com/forum/viewtopic.php?id=26021

線程多次表明在一個所見即所得的代碼是總格式化公平的遊戲和服務器端的重新格式化是最好的。不要忘記,目標是最小化重新格式化,所以服務器端工具對文檔結構同樣具有破壞性。根據TinyMCE開發人員的說法,這是一個WONTFIX,所以我懷疑在可預見的未來這種情況會發生變化。

相關問題