Discuz教程网

修复IE核心下 使用纯文本模式的时候 论坛编辑器的快捷绑定失效问题

[复制链接]
authicon T-Liang 发表于 2012-2-27 14:23:30 | 显示全部楼层 |阅读模式
IE核心(我使用IE9能在dz官网重现此问题)使用纯文本模式的时候 编辑器的快捷绑定会失效 (最明显的表现就是在帖子的编辑器内“Ctrl+回车”快捷键不能提交帖子)

修复IE核心下 使用纯文本模式的时候 论坛编辑器的快捷绑定失效问题

修复IE核心下 使用纯文本模式的时候 论坛编辑器的快捷绑定失效问题
        
非纯文本模式下 下断点 setEditorEvents()可以按照图示的断点处往下正常执行,

修复IE核心下 使用纯文本模式的时候 论坛编辑器的快捷绑定失效问题

修复IE核心下 使用纯文本模式的时候 论坛编辑器的快捷绑定失效问题
        
因为此时editdoc是个iframe,所以editdoc.body不是空

修复IE核心下 使用纯文本模式的时候 论坛编辑器的快捷绑定失效问题

修复IE核心下 使用纯文本模式的时候 论坛编辑器的快捷绑定失效问题
        
但是在纯文本模式下editdoc是个textarea 所以editdoc.body必定不存在,

修复IE核心下 使用纯文本模式的时候 论坛编辑器的快捷绑定失效问题

修复IE核心下 使用纯文本模式的时候 论坛编辑器的快捷绑定失效问题
        
下断点看会产生如下异常

修复IE核心下 使用纯文本模式的时候 论坛编辑器的快捷绑定失效问题

修复IE核心下 使用纯文本模式的时候 论坛编辑器的快捷绑定失效问题
        
写了个补丁对付了一下 在异常的时候再次进行一次异常处理就可以了 算是最简单最懒的方案
DZ的人要是觉得不屑呢可以自己再写个判断完善下,要是看得起呢直接拿起去合并好了



Index: editor.js

  1. ===================================================================

  2. --- editor.js        (版本 833)

  3. +++ editor.js        (版本 834)

  4. @@ -588,7 +588,14 @@

  5.                          editdoc.body.attachEvent('onmouseup', mouseUp);

  6.                          editdoc.body.attachEvent('onkeyup', keyUp);

  7.                          editdoc.body.attachEvent('onkeydown', keyDown);

  8. -                } catch(e) {}

  9. +                } catch(e) {

  10. +                        /*IE核心 源代码模式下 编辑器快捷键绑定的DirtyFix ihipop @ 22:27 2012-10-06*/

  11. +                        try {

  12. +                                editdoc.attachEvent('onmouseup', mouseUp);

  13. +                                editdoc.attachEvent('onkeyup', keyUp);

  14. +                                editdoc.attachEvent('onkeydown', keyDown);

  15. +                        } catch(r) {}

  16. +                }

  17.          }

  18. }
复制代码

修复IE核心下 使用纯文本模式的时候 论坛编辑器的快捷绑定失效问题

修复IE核心下 使用纯文本模式的时候 论坛编辑器的快捷绑定失效问题



上一篇:2.5最新版utf-8模板文件无法导入
下一篇:点击 站点统计 - 管理团队 出现 Discuz System Error
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 04:55

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表