6

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

例如,如果文本已输入到文本区域,或已选择复选框,则该内容也应反映在 html 中。我想要这样做的原因是对用户页面进行“截图”。

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

4

4 回答 4

6

如果您想要屏幕截图,则应考虑使用html2canvas 之类的工具。仅拉取 HTML 不会为您提供输入字段。

沿着这些线的另一个 SO 线程

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

$('html').html();
于 2013-07-03T15:27:21.560 回答
4

您可以使用 jQuery:

var html = $('html')
于 2013-07-03T15:11:42.373 回答
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;
}

这是一个工作示例

这是一个支持复选框的示例

注意:您可能需要根据您的确切需求改进此功能,但希望它能让您走上所需的轨道。

于 2013-07-03T15:31:06.947 回答
-1

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

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

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

于 2013-07-03T15:14:43.307 回答