半年了,心情極差,現在收拾的稍微好一些,總算有一點點"勇氣"來寫代碼了。
邊寫邊發吧,省得有寫不下去了
首先,inEdit 恐怕就沒有其他的朋友用吧,我也只能是根據自己的需求來寫了
數據值取值
對於要編輯的數據值取值來說大概有以下幾類(優先級次序)
- 取value屬性的值,判斷條件是否具有value屬性
- 取innerText的值,也就是說值是無格式純文本的,其他途徑判斷,比如nodeName不是div/p
- 取innerHTML的值,html文本了,剩下的就是div/p了,實際上p是有兼容性問題的,目前不可使用,這樣是留給以後用
預置模式
這是很必要的,無外乎
- 高級模式,也就是所有功能顯示可用
- 普通模式,常用的功能
- 便捷模式,文字,圖片,和自動排版。自動簡單的排版功能是很便捷的,要增加
自然這樣就需要增加高級編輯展開按鈕
多值賦值問題
例如select,radio按鈕這種,從某種角度來說,可以用其他的方法,不把這個交給inEdit,作爲問題備註
圖片
圖片的模塊不是很好用呀,這個常用的東東,還是要多下下功夫
inCore.js問題
inCore.js確實有些大,不過裏面的event處理部分,目前還找不到其他的替代庫,要不要用jQuery之類的替代,糾結呀
編輯面板可拖動
這個對於多實例的應用來說很有必要,不過真要是多實例且面板拖動的話,估計用戶體驗也不怎麼樣呀。
分組
- 多實例的時候缺少分組管理,默認分組設定爲空('')
ps:
2009.11.9
這段代碼好繞。。。
全手工判斷node 在 range 中的位置和處理呀!!!!!!!
真擔心雄起不了哇,,,,,,,,
2009.10.15
鑑於大量的瀏覽器兼容性問題(大多數來自firefox),inEdit的開發被逼到12日說的,必須使用代碼直接對DOM樹進行操作來實現編輯命令了的地步了,如果失敗恐怕inEdit又要擱置了。
Ada,保佑我吧
2009.10.13
編輯操作中有一些不可逆轉的操作,這裏指的不是redo和undo這樣的操作,而是必然列表
insertorderedlist
insertunorderedlist
這樣的操作,這些操作是會破壞一些結構的,反覆點擊是無法復原的,這個道理倒是可以理解,不過對於實際應用來說也許會是一個災難
2009.10.12
關於type=='Control'改寫的完全是應付需求哇,水平有限,就先這樣吧,,,
各個瀏覽器對相同操作給出的html有所不同哇,inEdit的目標之一就是必須完全一致,,,繼續整,希望能代碼對DOM操作完成,難度大呀
hiliteColor/backcolor firefox下竟然有奇異的BUG,,,,,
2009.10.11
IERange果然好使,不過裏面沒有對 selection.type=='Control' 的情況處理,自己改寫吧。
牢騷:無趣的長假,,,,,,,,,,
2009.9.30
國慶節前了都,折磨往返於瀏覽器間的兼容性中。。。
今天發現了IERange,MIT License.打算啓用這個工具,希望能省下不少力氣
firefox問題最多呀,折磨哇。。。
2009.9.22
今天解決了一個很難搞的兼容性問題,哈哈,下面的進度會加快了,自己也很期待呀