半年了,心情极差,现在收拾的稍微好一些,总算有一点点"勇气"来写代码了。
边写边发吧,省得有写不下去了
首先,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
今天解决了一个很难搞的兼容性问题,哈哈,下面的进度会加快了,自己也很期待呀