取得使用 AJAX 請求建立的頁面的目前 HTML

取得使用 AJAX 請求建立的頁面的目前 HTML

所以,我使用的是 Chrome/Chromium 瀏覽器(如果需要的話可以使用 Firefox)。

我正在查看用(大概是)AJAX「即時」建立的網頁(想想你如何在 Facebook 上向下滾動,事情就會不斷出現)。

I'd like to save the html for such a page after it's loaded a bunch of stuff, but this doesn't show up in the DOM of the Chromium Developer's Tools and right-clicking to Save just saves the original page, before AJAX loaded東西.

我能做些什麼?

答案1

取得包含所有動態載入元素的原始程式碼的一種方法是透過 Chrome 開發人員工具 ( F12)。選擇<HTML>頁面最開頭的標籤,然後複製元素 ( CTRL+ C)。這也應該將所有包含的資料(動態載入或以其他方式)複製到剪貼簿,然後您可以將其貼到您喜歡的任何位置。

這是顯示該過程的 gif:

流程

明顯的缺點是,如果您想要完整的文件,則必須手動下載任何文件(.js.css、圖像)並將它們保存在與html 文件相同的資料夾中(提示:使用開發工具中的「來源」選項卡)網站,或者,如果您不介意從網絡獲取一些數據,則可以像這樣修改 HTML 來源中的連結:

===ORIGINAL===

<img src="file.jpg">

===MODIFIED===

<img src="[url_of_website_that_you_want_to_save]/file.jpg">

答案2

小書籤

這是另一種方法,一種更簡單的方法!

將以下 JavaScript 程式碼另存為小書籤,然後在要查看生成來源的頁面上點擊它:

javascript:(function(){ function htmlEscape(s){s=s.replace(/&/g,'&amp;');s=s.replace(/>/g,'&gt;');s=s.replace(/</g,'&lt;');return s;} x=window.open(); x.document.write('<pre>' + htmlEscape('<html>\n' + document.documentElement.innerHTML + '\n</html>')); x.document.close(); })();

點擊此處使過程變得更容易!|JSFiddle

動圖: 拉胡爾多特科技!

相關內容