我遇到了这样的问题:当我尝试解析从服务器收到的xml时,CDATA块中包含的消息在IE10中解析,11直到找到第一个连字符。
请参阅我收到的XML示例:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<response>
<task>results</task>
<finish_msg><![CDATA[
<div class="jq_results_container_outer">
<div class="jq-msg-alert-0">
</div>
</div><br />]]>
</finish_msg>
</response>
当我在IE 10中调用此类Javascript代码时,11 var data = response.getElementsByTagName('finish_msg')[0].firstChild.data
我将data
等于<div class="jq_results_container_outer"><div class="jq
一切适用于FF,Chrome,Opera,IE 8,9。 感谢
答案 0 :(得分:2)
看看这个提交到IE11的错误:
似乎在Edge和IE11(11.0.10240.16431)中修复了该错误,但对我来说,我仍然在IE11上得到错误。
可以总结错误:
new DOMParser().parseFromString('<tag><![CDATA[data-with-hyphen]]></tag>', 'text/xml').firstChild.firstChild.nodeValue;
结果将在第一次出现连字符时有一个截断值。
编辑:作为解决方法,您可以使用以下格式检索内容:
response.getElementsByTagName('finish_msg')[0].textContent