gpt4 book ai didi

javascript - 如何从 JavaScript 中的 AJAX 响应中提取正文 (...) 标签之间的片段

转载 作者:搜寻专家 更新时间:2023-10-31 08:22:04 24 4
gpt4 key购买 nike

AJAX 响应返回完整的 HTML 页面。我需要提取正文( <body></body> )标签之间的片段。这需要使用 JavaScript 在客户端完成。任何帮助将不胜感激。

最佳答案

最简单但也是最糟糕的方法是对响应文本进行简单的字符串修改。

var bodyhtml= html.split('<body>').pop().split('</body>')[0];

这在一般情况下并不令人满意,但如果您知道返回的 HTML 的确切格式(例如 <body> 上没有属性,序列 <body></body> 是'用于页面中间的评论等)。

另一种仍然很糟糕的方法是将整个文档写入 innerHTML新创建的 <div>并找出你想要的元素,而不关心写作 <html><body><div> 里面被打破。您将无法可靠地分隔 <head> 的子元素来自 <body> 中的那些人这样,但这就是 jQuery 所做的。

一种更健壮但更痛苦的方法是使用单独的 HTML 文档:

var iframe= document.createElement('iframe');
iframe.style.display= 'none';
document.body.insertBefore(iframe, document.body.firstChild);
var idoc= 'contentDocument' in iframe? iframe.contentDocument : iframe.contentWindow.document;
idoc.write(htmlpage);
idoc.close();
alert(idoc.body.innerHTML);
document.body.removeChild(iframe);

虽然这也会执行文档中的所有脚本,可能会更改它,因此这也可能不令人满意。

关于javascript - 如何从 JavaScript 中的 AJAX 响应中提取正文 (<body>...</body>) 标签之间的片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3803356/

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