如何在javascript中将页面的完整内容作为字符串?

时间:2009-02-05 17:33:32

标签: javascript

我正在写一个书签,即包含javascript而不是URL的书签,我遇到了一些麻烦。事实上,我不记得如何将页面内容作为字符串获取,因此我可以应用正则表达式来查找我想要的内容。你能帮帮我吗?

在任何人建议之前,我不能使用getElementBy(Id / Name / Tag),因为我正在寻找的数据是HTML注释和内部标记,所以我认为这不会起作用。

感谢。

2 个答案:

答案 0 :(得分:8)

您可以通过以下方式访问它:

document.body.innerHTML

答案 1 :(得分:1)

  

所以我可以应用正则表达式来找到我想要的东西

执行。不。使用。正则表达式。至。解析。 HTML。

特别是当浏览器已经为您解析它时!来吧!

  

我正在寻找的数据是HTML评论

你可以很好地从DOM中获取评论内容。例如

<div id="mything"><!-- la la la I'm a big comment --></div>

alert(document.getElementById('mything').firstChild.data);

如果您需要在DOM中搜索评论元素:

// Get comment descendents
//
function dom_getComments(parent, recurse) {
    var results= [];
    for (var childi= 0; childi<parent.childNodes.length; childi++) {
        var child= parent.childNodes[childi];
        if (child.nodeType==8) // Node.COMMENT_NODE
            results.push(child);
        else if (recurse && child.nodeType==1) // Node.ELEMENT_NODE
            results= results.concat(dom_getComments(child));
    }
    return results;
}