javascript - 安全地解析/使用来自 XMLHttpRequest 的 HTML

标签 javascript xmlhttprequest

我正在编写与特定 <div> 的内容一起使用的代码(目前它是一个 Chrome 扩展程序,尽管我可能会使其跨浏览器,或尝试让网站所有者包括增强功能)在用户正在查看的网页上,以及属于同一讨论线程的任何页面上。所以我找到了该线程其他页面的链接,并使用 XMLHttpRequest 获取它们.我想做的就是能够使用 .getElementsByClassName('foo')在结果页面上。

我知道我可以通过将请求的结果加载到一个 div 中(即 Optimal way to extract a URL from web page loaded via XMLHTTPRequest? )来做到这一点。但是,在找出执行此操作的最佳方法时,我了解到存在安全问题 (MDN - Safely Parsing Simple HTML to DOM)。

在这种情况下,我不确定这是否重要,因为扩展只会从用户已经查看的同一评论线程加载页面,但我仍然希望以正确的方式执行此操作。

那么从 XMLHttpRequest 中处理 HTML 的正确方法是什么? ?

附言如果最佳答案是 jQuery,请告诉我,但我还没有开始使用 jQuery,并且还想了解这里的基础知识。

编辑:我不知道为什么我会这样表述,但让我更清楚一点,我真的希望得到一个非 JQuery 的答案。在学习 JQuery 之前,我一直在尝试学习 javascript 的基础知识,并且当我不明白自己在做什么时,我不想导入整个框架来调用一个函数。这可能看起来不合理,但这就是我目前正在做的事情。

最佳答案

既然你说你不反对使用 jQuery,你应该看看 load功能。它从您指定的地址加载 html,然后将其放入匹配的元素中。例如

$("#formDiv").load("../AjaxContent/AdvSearchForm.aspx?ItemType=" + ItemType);

将从 ../AjaxContent/AdvSearchForm.aspx 加载 html,然后将其放入 ID 为 formDiv 的 div 中

存在用于将数据与请求一起传递到服务器的可选参数,以及回调函数。

关于javascript - 安全地解析/使用来自 XMLHttpRequest 的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8283024/

相关文章:

javascript - 使用带分块传输编码的 XHR 的 HTTP POST

javascript - PHP打印脚本无法识别javascript函数:

javascript - 确认 asp.net 按钮后触发回发警报

javascript - 如何避免 "Forcing rebuild: JavaScript files need to be re-encrypted"

javascript - 关于 XMLHttpRequest 的同源限制

javascript - 从 div 中的 json 文件写入解析后的响应

javascript - 如何在关闭 Accordion 时自动关闭 Accordion 内部的所有可折叠元素?

javascript - 具有动画效果的 CSS Scroll Snap

javascript - 仅当文件上传完成时才会触发 XMLHttpRequest 事件 onProgress

http - XMLHttpRequest 如何知道何时调用它的回调?