gpt4 book ai didi

javascript - IE10、11 带连字符的 CDATA 解析错误

转载 作者:数据小太阳 更新时间:2023-10-29 02:10:50 24 4
gpt4 key购买 nike

我遇到了这样的问题:当尝试解析我从服务器接收到的 xml 时,包含在 CDATA block 中的消息在 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、11 中调用此类 Javascript 代码时 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。谢谢

最佳答案

查看提交给 IE11 的错误:

https://connect.microsoft.com/IE/feedback/details/1398926/ie11-does-not-parse-cdata-containing-hyphens-correctly

看来该错误已在 Edge 和 IE11 (11.0.10240.16431) 中修复,但对我来说,我仍然在 IE11 上遇到该错误。

错误可以总结为:

new DOMParser().parseFromString('<tag><![CDATA[data-with-hyphen]]></tag>', 'text/xml').firstChild.firstChild.nodeValue;

结果将有一个 chop 的值位于第一次出现的连字符处。

编辑:作为解决方法,您可以使用以下格式检索内容:

response.getElementsByTagName('finish_msg')[0].textContent

关于javascript - IE10、11 带连字符的 CDATA 解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22039982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com