2012-06-28 67 views
2

如何使用jQuery返回頁面的完整html?如何使用jQuery返回頁面的完整html?

我不能做

return $('html').html() 

return "<html>" + $("html").html() + "</html>"; 

因爲頁面可能沒有HTML標記在它在所有。我不能使用類或id標記,因爲這不是我控制並可以更改的內容。所以用例是如果我傳遞一個url,我需要返回頁面的完整html,並且該頁面可能會或可能沒有html tagin。

+0

建議的方式提出AJAx請求,測試您所做的任何操作都是跨瀏覽器。我記得曾經做過一些事情,並且發現''中的元素在瀏覽器中沒有一致報告 – Rodolfo

回答

1

即使原始文檔不包含<html>元素,對於它的價值,$("html")將返回所有理智情況下的元素。這是因爲瀏覽器會自動在DOM樹中插入某些必需的元素(包括<html>,<head><body>),即使它們未在源文檔中指定。

如果您針對不是HTML的DOM樹運行JQuery,例如,如果您將JQuery加載到SVG中,那麼我可以想到的唯一例外(從$("html")哪裏得不到任何東西)文件。不過,你會瘋了。 :)

3

你嘗試:

$(document).html(); 

編輯:這不適合我在Firebug的工作,所以我不知道它是否會爲你工作。

2
document.documentElement.outerHTML; 

對於老的Firefox,你需要使用.innerHTML代替,然後串聯的<html>標籤。


「的頁面可能沒有HTML標記在它在所有」

如果你沒有<html>標籤,瀏覽器會自動將其插入。如果您想要原始文檔的準確表示,請按照@Rab Nawaz

相關問題