Javascript 在firefox中使用OnPaste时,富格文本粘贴失败
我正在编写一个扩展,它将导致所有粘贴的富文本都粘贴为纯文本。我的代码在Chrome和IE7中工作得很好,但在Firefox3中失败(可能还有Firefox2,但原因不同——特别是缺少粘贴事件) 奇怪的是,当粘贴的文本是纯文本时,我的代码可以完美地工作。它似乎被任何格式都阻塞了。以下是Firefox版本中涉及的步骤,在粘贴时触发(事件正在触发,但粘贴失败):Javascript 在firefox中使用OnPaste时,富格文本粘贴失败,javascript,firefox,richtextbox,paste,nicedit,Javascript,Firefox,Richtextbox,Paste,Nicedit,我正在编写一个扩展,它将导致所有粘贴的富文本都粘贴为纯文本。我的代码在Chrome和IE7中工作得很好,但在Firefox3中失败(可能还有Firefox2,但原因不同——特别是缺少粘贴事件) 奇怪的是,当粘贴的文本是纯文本时,我的代码可以完美地工作。它似乎被任何格式都阻塞了。以下是Firefox版本中涉及的步骤,在粘贴时触发(事件正在触发,但粘贴失败): 获取当前选择和范围 使用contentEditable=true创建一个新的div,并将其添加到DOM中 将插入符号移动到新的div 设置
- 获取当前选择和范围
- 使用
创建一个新的div,并将其添加到DOM中contentEditable=true
- 将插入符号移动到新的div
- 设置一个超时,从新的div中获取HTML,清除它,并将其放入旧的选择中(我在步骤1中获取)
- 返回true(允许原始粘贴完成,将内容粘贴到新的div中)
text align
上的解析错误相关的警告-声明被删除),并且当我使用Firebug进行调试时,没有任何可疑的事情发生(除了我的粘贴看起来是空的,这就是问题所在)
这个警告让我觉得Firefox可能无法解析我粘贴的内容,但如果没有截获代码,我就可以很好地粘贴到nicEditor中
我上传了我的Firefox专用测试脚本-这是Firefox在我的完整扩展中执行的代码
有几件事需要注意:
- 我从TinyMCE粘贴插件中获得了相当多的灵感
- 我正在使用jQuery进行元素选择
- nicEdit中的
似乎也有一些修改,我觉得很奇怪Function.prototype
<>我可以使用另一个富文本编辑器,但是在调试时,这是一个练习。
- 上面链接的代码仅适用于FIREFOX