javascript - 如何在 Firefox 扩展中将 HTML 字符串转换为 DOM 对象?

标签 javascript firefox dom

我正在使用 XMLHttpRequest 下载一个网页(标签 soup HTML),我想获取输出并将其转换为 DOM 对象,然后我可以在其上运行 XPATH 查询。如何从字符串转换为 DOM 对象?

看来一般的解决方案是创建一个隐藏的 iframe 并将字符串的内容放入其中。已经有talk更新DOMParser支持 text/html,但从 Firefox 3.0.1 开始,如果您尝试,您仍然会收到 NS_ERROR_NOT_IMPLMENTED

除了使用隐藏的 iframe 技巧之外,还有其他选择吗?如果不是,执行 iframe 技巧的最佳方法是什么,以便您的代码在任何当前打开的选项卡的上下文之外工作(以便关闭选项卡不会搞乱代码等)?

This这是我为什么要寻找 iframe hack 之外的解决方案的一个例子,如果我必须编写所有这些代码才能拥有一个强大的解决方案,那么我宁愿继续寻找其他东西。

最佳答案

Ajaxian 实际上有一个 post on inserting / retrieving html from an iframe今天。您也许可以使用他们在那里发布的 js 片段。

对于处理浏览器/选项卡的关闭,您可以附加到 onbeforeunload ( http://msdn.microsoft.com/en-us/library/ms536907(VS.85).aspx ) 事件并执行您需要执行的任何操作。

关于javascript - 如何在 Firefox 扩展中将 HTML 字符串转换为 DOM 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3868/

相关文章:

javascript - 使用 Firefox 扩展的属性触发自定义事件

css - 如何编辑 css 选择器以在 Firebug 中测试某些内容?

javascript - <li>标签的数值位于哪里?

javascript - 包定位在 Dojo 中是如何工作的?

Firefox 插件下载.jsm

html - 是否可以规定浏览器下载图像的顺序?

java - getNodeValue() 截断 org.w3c.dom.Node 中的属性内容

javascript - 如果输入了正确的坐标,则启用复选框

javascript - Highcharts/stock xAxis 仅显示年份

javascript - 使用 JavaScript 淡化文本颜色