2013-07-03 140 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

注意:可能需要根據您的確切需求改進此功能,但希望它能幫助您追蹤您的需求。