从XMLHttpRequest安全地解析/使用HTML

时间:2011-11-27 01:39:04

标签: javascript xmlhttprequest

我正在编写代码(现在它是Chrome扩展程序,但我可以将其设置为跨浏览器,或尝试让网站所有者包含增强功能),该代码可以使用特定<div>的内容在用户正在查看的网页上,以及属于同一讨论主题的任何页面。所以我找到了线程其他页面的链接,并使用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的正确方法是什么?

P.S。如果最好的答案是jQuery,那么告诉我,但我还没有开始使用jQuery,并且还想知道这里的基本原理。

编辑:我不知道为什么我按照我的方式处理事情,但让我更清楚一点,我真的希望得到一个非JQuery的答案。在学习JQuery之前,我一直在努力学习javascript的基础知识,当我不明白我在做什么时,我宁愿不导入整个框架来调用一个函数。这似乎是不合理的,但这就是我现在正在做的事情。

1 个答案:

答案 0 :(得分:-1)

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

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

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

的div中

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