我正在尝试使用带有表单输入的模态窗口替换div中的一些文本,但由于某种原因,我无法让它在IE11上工作。我已经意识到,当选择包含< br>
的文本时,它会跳过新行这是一个有效的例子:
有趣的是,我在不同的页面中使用相同的代码,它使新行很好,这让我觉得我错过了一些东西。
var isIE11 = !!navigator.userAgent.match(/Trident.*rv\:11\./);
range = window.getSelection().getRangeAt(0);
if(!isIE11){
text = new XMLSerializer().serializeToString(range.cloneContents());
}
else{
text = range;
}
text = new String(text);
var textBr = nl2br(text.toString());
function nl2br (str, is_xhtml) {
var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';
return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' + breakTag + '$2');
}
非常感谢任何帮助。
此致