我一直遇到一个问题,当使用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-减号