2013-07-03 98 views
3

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

例如,如果文本已经输入到textarea中,或者选中了一个复选框,那么它也应该反映在html中。我想要这样做的理由是对用户页面进行“截图”。

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

+2

[javascript页面源代码]的副本(http://stackoverflow.com/q/1367587/218196)。这是[第二个问题](http://stackoverflow.com/q/17450681/218196)关于这个在一个小时内。 –

+0

@FelixKling这是如何重复的?另一个问题只是要求页面的html。我希望textareas中输入的文本,选中的复选框等都反映在html中 – LanguagesNamedAfterCofee

+0

啊,我错过了'input'-changes部分。短语*“用户所做的修改”*是一个相当含糊的词。 DOM修改也是修改(这可能会响应用户交互发生)。 –

回答

3

您可以使用jQuery:

var html = $('html') 
+0

还有什么比这更多? –

+0

@MohammadAreebSiddiqui:这一行实际上是演示...不是? –

+4

嗯...看起来很复杂。有一个更简单的方法吗? – musefan

0

如果你有一个名为 “域” 字段:

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

如果你有一个复选框,操作字面上相同。希望这有帮助。

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

注意:可能需要根据您的确切需求改进此功能,但希望它能帮助您追踪您的需求。