是否可以通过用户所做的所有修改来获取页面的html(见下文)?Javascript获取当前页面的html
例如,如果文本已经输入到textarea中,或者选中了一个复选框,那么它也应该反映在html中。我想要这样做的理由是对用户页面进行“截图”。
下面的答案是jQuery('html')
的变化,不反映用户所做的更改。
是否可以通过用户所做的所有修改来获取页面的html(见下文)?Javascript获取当前页面的html
例如,如果文本已经输入到textarea中,或者选中了一个复选框,那么它也应该反映在html中。我想要这样做的理由是对用户页面进行“截图”。
下面的答案是jQuery('html')
的变化,不反映用户所做的更改。
如果你想要一个截图,你应该考虑一个工具,如html2canvas。只要拉HTML是不会让你输入字段。
Another SO thread along these lines。
其他的答案将让你的HTML,具体,但没有输入值
$('html').html();
谢谢,虽然html2canvas非常重,但我猜这是无法帮助的。 – LanguagesNamedAfterCofee
您可以使用jQuery:
var html = $('html')
如果你有一个名为 “域” 字段:
var field = document.getElementById("field");
fieldvalue= field.value;
如果你有一个复选框,操作字面上相同。希望这有帮助。
适应于其他的答案。要获得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;
}
And here is an example that supports checkboxes
注意:可能需要根据您的确切需求改进此功能,但希望它能帮助您追踪您的需求。
[javascript页面源代码]的副本(http://stackoverflow.com/q/1367587/218196)。这是[第二个问题](http://stackoverflow.com/q/17450681/218196)关于这个在一个小时内。 –
@FelixKling这是如何重复的?另一个问题只是要求页面的html。我希望textareas中输入的文本,选中的复选框等都反映在html中 – LanguagesNamedAfterCofee
啊,我错过了'input'-changes部分。短语*“用户所做的修改”*是一个相当含糊的词。 DOM修改也是修改(这可能会响应用户交互发生)。 –