inEdit 完善,计划中........

半年了,心情极差,现在收拾的稍微好一些,总算有一点点"勇气"来写代码了。

边写边发吧,省得有写不下去了

 

首先,inEdit 恐怕就没有其他的朋友用吧,我也只能是根据自己的需求来写了


数据值取值

对于要编辑的数据值取值来说大概有以下几类(优先级次序)

  1. 取value属性的值,判断条件是否具有value属性
  2. 取innerText的值,也就是说值是无格式纯文本的,其他途径判断,比如nodeName不是div/p
  3. 取innerHTML的值,html文本了,剩下的就是div/p了,实际上p是有兼容性问题的,目前不可使用,这样是留给以后用

预置模式

这是很必要的,无外乎

  1. 高级模式,也就是所有功能显示可用
  2. 普通模式,常用的功能
  3. 便捷模式,文字,图片,和自动排版。自动简单的排版功能是很便捷的,要增加

自然这样就需要增加高级编辑展开按钮

 

多值赋值问题

例如select,radio按钮这种,从某种角度来说,可以用其他的方法,不把这个交给inEdit,作为问题备注


图片

图片的模块不是很好用呀,这个常用的东东,还是要多下下功夫


inCore.js问题

inCore.js确实有些大,不过里面的event处理部分,目前还找不到其他的替代库,要不要用jQuery之类的替代,纠结呀

 

编辑面板可拖动

这个对于多实例的应用来说很有必要,不过真要是多实例且面板拖动的话,估计用户体验也不怎么样呀。


 

分组

  1. 多实例的时候缺少分组管理,默认分组设定为空('')  

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

今天解决了一个很难搞的兼容性问题,哈哈,下面的进度会加快了,自己也很期待呀

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的行编辑器代码,实现了查找、替换和修改数据的功能,数据以文件形式存储。请注意,该代码并不完整,只是提供了一个基本的框架,您需要根据自己的需求进行修改和完善。 ```python import os def read_file(filename): """读取文件的数据""" if not os.path.exists(filename): return [] with open(filename, 'r') as f: lines = f.readlines() return [line.strip() for line in lines] def write_file(filename, lines): """将数据写入文件""" with open(filename, 'w') as f: for line in lines: f.write(line + '\n') def find(lines, keyword): """查找含有关键字的行""" result = [] for i in range(len(lines)): if keyword in lines[i]: result.append(i) return result def replace(lines, keyword, new_word): """替换含有关键字的行""" for i in range(len(lines)): if keyword in lines[i]: lines[i] = lines[i].replace(keyword, new_word) return lines def edit(filename): """编辑文件""" lines = read_file(filename) while True: command = input('请输入指令(f-查找,r-替换,q-退出):') if command == 'f': keyword = input('请输入关键字:') result = find(lines, keyword) if result: for i in result: print(f'第{i+1}行:{lines[i]}') else: print('未找到匹配的行!') elif command == 'r': keyword = input('请输入要替换的关键字:') new_word = input('请输入新的内容:') lines = replace(lines, keyword, new_word) write_file(filename, lines) print('替换成功!') elif command == 'q': break else: print('无效指令!') ``` 使用方法: 1. 将上述代码保存为一个.py文件,比如editor.py。 2. 在同一目录下创建一个文本文件,比如data.txt,并在其写入一些数据,每行以回车结束。 3. 运行editor.py文件,输入以下指令进行操作: - f:查找含有关键字的行; - r:替换含有关键字的行; - q:退出编辑器。 根据提示输入相应的关键字和新内容即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值