
所以,我使用的是 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,'&');s=s.replace(/>/g,'>');s=s.replace(/</g,'<');return s;} x=window.open(); x.document.write('<pre>' + htmlEscape('<html>\n' + document.documentElement.innerHTML + '\n</html>')); x.document.close(); })();