Javascript获取当前页面的HTML

时间:2013-07-03 15:09:56

标签: javascript html dom

是否可以通过用户进行的所有修改来获取页面的html(见下文)?

例如,如果已将文本输入到textarea中,或者已选择了复选框,则该文本也应反映在html中。我想要这样做的原因是拍摄用户页面的“屏幕截图”。

以下答案是jQuery('html')的变体,不反映用户所做的更改。

4 个答案:

答案 0 :(得分:3)

你可以使用jQuery:

var html = $('html')

答案 1 :(得分:3)

如果您想要截图,则应考虑使用html2canvas等工具。只需拉动HTML就不会得到输入字段。

Another SO thread along these lines

其他答案会为您提供HTML,特别是没有输入值

$('html').html();

答案 2 :(得分:0)

如果您有一个名为“field”的字段:

var field = document.getElementById("field");
fieldvalue= field.value;

如果您有一个复选框,则操作实际上是相同的。希望这有用。

答案 3 :(得分:0)

适应其他答案。在获取HTML之前,您可以遍历所有输入元素并手动设置value属性,然后这将反映在HTML中:

$('a').click(function(e){
    setValueProperties();
    var html = getHtml();
    alert(html);
});

function setValueProperties(){
    $('input').each(function(){
       $(this).attr("value", $(this).val()); 
    });
}

function getHtml(){
    return document.documentElement.outerHTML;
}

Here is a working example

And here is an example that supports checkboxes

注意:您可能需要针对您的确切需求优化此功能,但希望它能帮助您实现所需。