使用createHTMLDocument在背景上解析动态加载的文档

时间:2013-11-02 15:31:35

标签: javascript ajax dom

使用this post,我正在尝试通过ajax加载文档并查找特定文档节点的内容,以便我可以在不重新浏览浏览器的情况下显示它们。

但是,我的文档似乎总是一个空文档。

Ajax回调:

function processRatingToken(data) {  //Data is just standart HTML document string
  var doc = document.implementation.createHTMLDocument();
  doc.open();
  //Replace scripts
  data = data.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, "");
  //Write HTML to the new document
  doc.write(data);
  doc.close();

  console.log(doc.body);  //Empty
}

那有什么不对?

注意:我正在使用此策略,因为我正在构建Greasemonkey Userscript。如果您正在开发Ajax应用程序,则不建议使用此策略。请改用JSON

1 个答案:

答案 0 :(得分:0)

.innerHTML属性有一种解决方法:

doc.childNodes[1].innerHTML = data;

其中.childNodes[1]<html>元素。