2007年10月22日 星期一

Rich Text Editor in LinkXD

考慮加上 Rich Text Editor 方便編輯短文,下面為收集的資料。

Yahoo! UI Library: Rich Text Editor

LinkXD 剪下後已經轉成 HTML,但是 YUI-RTE 預設介面是讓你寫入格式化文字,並無法直接貼 a 的 tag,於是要考慮切換成正常 textarea 模式來貼,這個作法可以參考
Plain Text Switcher。要不然就是換用按鈕來貼文,這樣應該可以避過 textarea 的限制,就像是Flickr Image Search的作法一樣,旁邊的小視窗可以按下後將 HTML 直接放到 Editor 去。

既然要整合 YUI 這類函式庫,會遇到一個問題就是必須將給 Firefox 執行的 js (XPCOM) 可以在 YUI 之中呼叫與執行,這點要注意 js 放進去的順序與位置很重要,不然就是參考Using addModule to Add Custom (Non-YUI) Content with YUILoader,像 YUI Library 這種功能豐富的工具,通常有自己的載入方式,這點要注意。

還有一個問題是載入資源 css/js 的問題,利用 chrome URL 的作法如 chrome://linkxd/content/foo.xhtml ,這樣輸出的 YUI editor 部份動作會有問題,像是 createlink/insertimage 就不相容,會出現跳出頁面空白的現象,於是必須改為非 jar 佈署方式,就是不用 chrome:// 而用 file:// 去讀取該 html ,才可以正常運作 createlink/insertimage。

其實用線上方式來整合會方便許多,但是內嵌卻可以提供離線操作這個好處,這算是決定採用內嵌方式的主要原因,不過一個缺點是包起來的東西變得太大,即使有壓縮,還是要將近 800Kb。

安裝後會有另一個 file:// 的問題會出現,使用 XPCOM 的權限問題,因為 file:// 開啟的網頁基本上是不能取用 XPCOM 的服務,使用下面的作法可以讓 YUI 的 js 取用 XPCOM,不過每次都會問一次會讓人覺得麻煩,除非使用「記住」的選項,這樣也會讓人感到困擾。

netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");

解脫權限問題可以採用 JavaScript Security: Signed Scripts ,不過看起來更複雜。

其他

Some Notes on the YUI Rich Text Editor

5 Open Source Rich Text Editors

TinyMCE Javascript Content Editor by Moxiecode Systems AB

FCKeditor - The text editor for Internet

Google Web Toolkit - RichTextArea

心路社會福利基金會

快樂是我們連結的理由

沒有留言: