如何使用jQuery返回頁面的完整html?如何使用jQuery返回頁面的完整html?
我不能做
return $('html').html()
或
return "<html>" + $("html").html() + "</html>";
因爲頁面可能沒有HTML標記在它在所有。我不能使用類或id標記,因爲這不是我控制並可以更改的內容。所以用例是如果我傳遞一個url,我需要返回頁面的完整html,並且該頁面可能會或可能沒有html tagin。
如何使用jQuery返回頁面的完整html?如何使用jQuery返回頁面的完整html?
我不能做
return $('html').html()
或
return "<html>" + $("html").html() + "</html>";
因爲頁面可能沒有HTML標記在它在所有。我不能使用類或id標記,因爲這不是我控制並可以更改的內容。所以用例是如果我傳遞一個url,我需要返回頁面的完整html,並且該頁面可能會或可能沒有html tagin。
即使原始文檔不包含<html>
元素,對於它的價值,$("html")
將返回所有理智情況下的元素。這是因爲瀏覽器會自動在DOM樹中插入某些必需的元素(包括<html>
,<head>
和<body>
),即使它們未在源文檔中指定。
如果您針對不是HTML的DOM樹運行JQuery,例如,如果您將JQuery加載到SVG中,那麼我可以想到的唯一例外(從$("html")
哪裏得不到任何東西)文件。不過,你會瘋了。 :)
你嘗試:
$(document).html();
編輯:這不適合我在Firebug的工作,所以我不知道它是否會爲你工作。
document.documentElement.outerHTML;
對於老的Firefox,你需要使用.innerHTML
代替,然後串聯的<html>
標籤。
「的頁面可能沒有HTML標記在它在所有」
如果你沒有<html>
標籤,瀏覽器會自動將其插入。如果您想要原始文檔的準確表示,請按照@Rab Nawaz
建議的方式提出AJAx請求,測試您所做的任何操作都是跨瀏覽器。我記得曾經做過一些事情,並且發現'
'中的元素在瀏覽器中沒有一致報告 – Rodolfo