小编Jes*_*Arr的帖子

为什么IE11处理Node.normalize()错误符号?

我一直遇到一个问题,当使用Node.normalize()函数连接相邻的文本节点时,具有某些字符的DOM文本节点在IE中表现异常.

我创建了一个Codepen示例,它允许您重现IE11中的错误:http://codepen.io/anon/pen/BxoKH

IE11中的输出:' - 示例'

Chrome和早期版本的IE中的输出:'测试 - 示例'

正如您所看到的,这会截断显示为分隔字符的减号之前的所有内容,这显然是由于Internet Explorer 11中的normalize()的本机实现中的错误(但不是IE10,或IE8,甚至是IE6) ).

任何人都可以解释为什么会发生这种情况,有没有人知道造成这个问题的其他字符序列?

编辑 -我编写了一个codepen,它将测试Unicode字符的各个部分,以识别导致此行为的字符.它似乎影响了比我最初意识到的更多的字符:

http://codepen.io/anon/pen/Bvgtb/ 这将测试32-1000的Unicode字符并打印那些未通过测试的字符(在节点规范化时截断数据)您可以修改它以测试其他字符范围,但是小心在IE中增加范围太多或它会冻结.

我已经创建了一个IE错误报告,Microsoft报告可以根据我提供的代码示例重现它.如果您也遇到此问题,投票:https: //connect.microsoft.com/IE/feedback/details/832750/ie11-node-normalize-dom-implementation-truncates-data-when-adjacent-text-节点,包含-A-减号

html javascript internet-explorer dom

8
推荐指数
1
解决办法
3757
查看次数

标签 统计

dom ×1

html ×1

internet-explorer ×1

javascript ×1