FCKEditor 的斷行 P 或 BR ?

FCKEditor,一個用javascript寫成的線上的WYSIWYG編輯器,有些用ie的人才會發現到一個問題,一個關於按Enter斷行的問題。

如果你用ie,然後不知道為什麼,當按下Enter的時候,會看到原本編輯的那一行跟按下Enter之後的那一行,好像跨了兩行,但是往上按或是按Backspace都是回到原本的那一行,中間會有一行空白,然而中間的空白,其實只是段落造成的,也就是說中間產生的空白是因為文章段落跟段落之間的區分而已。

所以在各大網站,也許他們的留言版或blog有支援HTML的功能、有HTML Toolbar,但是這種斷行的問題還是在,是大家都習慣了這種方式嗎,至少有些使用者不習慣所帶來的空白?包括我 XD ps. 有些站台會註明說,請使用 shift+Enter 來斷行。之後看了原始碼才知道,原來ie直接按Enter送的會是 p 也就是"段落",shift+Enter送的會是 br,但是Firefox不管Enter加不加shift都是送出 br 所以不會造成像ie一樣行距看起來太高、或是多了一行空白。

基本上WYSIWYG的編輯器需要Enter跟Shift+Enter來分別代表跟
pbr 這兩種tag,不然你在firefox上就只能有 br ??

clotho大大討論之後,大大丟了這一個網址給我,關於firefox
在FCKEditor的bug report(FCKedit的bug),有討論到Firefox送出來的都是 br 而沒有這個段落 p 這個 tag,似乎按Enter送出 p 然後按shift+Enter送出 br 是個標準。個人覺得是有這個需求,但是這真的會造成一般使用者的誤會,畢竟原來的textarea換成了htmlarea,按Enter的動作居然會不一樣。

總而言之,p 或者是 br 這算是使用上習慣問題,只是按Enter送 p 然後按shift+Enter送出 br 則是既定規則,也有需求(總不能沒有 p 吧 XD)

也許在留言版之類的HTML Editor就讓他只送 br ,畢竟只有留一小段文字,然後在打文章或blog的HTML Editor就用一般的規則。但是你怎麼知道誰不會在留言版或comments打文章? 那是使用者要去學習這種既定規則,還是programmer修改程式去符合使用者的習慣? 看你或者是看你上司了 XD
總之,新版的FCKeditor應該已經修改好Firefox只能送出 br 的bug了,所以以後不管ie或是firefox按enter都會送出 p,但如果你只想按Enter送出 br 呢?

請修改 fckconfig.js 裡的這一行:

FCKConfig.UseBROnCarriageReturn = true ;

預設應該為false,改為true的話,當你按下Enter之後就只會送出 br 囉!

PS. IE SUCK 的目錄分類在我的blog代表的是Browser。XD 不過這篇說得不是ie的bug,而是使用者的習慣及疑問。

tzangms

Read more posts by this author.

Subscribe to Oceanic / 海海人生

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!