2013-04-23 146 views
14

我希望能夠將HTML頁面保存/歸檔爲一個文件(沒有那些討厭的外部文件夾)。如何將html頁面保存爲一個文件?

我希望生成的文件包含所有樣式,圖像和鏈接(視頻和Flash也不錯,但並不重要)。

我希望生成的文件可搜索和可編輯。

微軟的MHT就是這樣的工具之一,但不幸的是,它在Linux下不可搜索。 MHT很好,但我不想被鎖定在一個操作系統或一家公司之下。什麼會是一個很好的選擇 - 或者有一些完全不同的解決方案我沒有想到?

預先感謝您爲您的建議!

回答

-9

你試過Googling嗎? 第三個鏈接關閉。 http://cybernetnews.com/save-webpage-single-html-file/

+8

謝謝你,@Tyler。是的,這個想法已經超出了我的想法。儘管Google沒有生成自己的內容,但實際上在各種網頁(如StackOverflow)中找到它,但我有一種懷疑。所以我去了我最喜歡的網站問一個問題:如果這裏的某個人比你推薦的帖子的作者知道一個更好的答案會怎麼樣?希望您能從中獲得更多的想法。 – 2013-04-23 13:43:51

+0

不確定這是否是諷刺性的。 :( 如果這樣做不起作用或者您想要另一種方式,請嘗試使用Google Chrome內置的另存爲功能,據我所知,如果您選擇.htm作爲文件擴展名,它會將其另存爲一個 – 2013-04-23 13:46:10

+4

謝謝你,@Tyler,我很欣賞這個建議(當你不確定某件事的時候,你只是Google了嗎?開玩笑吧,是的,這大概有35%的諷刺意味,這是星期二,你知道。) – 2013-04-23 13:49:26

10

通過在chrome://標誌頁上切換「將頁面另存爲MHTML」選項來支持在當前版本的Google Chrome瀏覽器中查看和創建MHTML文件。

輸入chrome://標誌在您的網址框中

然而,啓用該實驗選項禁止將網頁另存爲HTML只或HTML完整文件。來自chrome:// flags頁面:

+0

該標誌現在只是添加,而不是切換版本51.0.2704.84(64位)上的mhtml的選項。 – ItsmeJulian 2016-06-08 17:00:22

0

把你的整個頁面在一個DIV框,並使用此代碼:

注意:不是把JavaScript放在DIV上面,因此它不起作用。 JavaScript必須在div下才能使用。

例子:

<div id="content"> 
    <h1>Hello world</h1> 
    <i>Hi everybody</i> 
</div> 
<button class="download">Download</button> 


<script src="http://code.jquery.com/jquery-1.11.2.min.js"></script> 
<script> 
    $('.download').on('click', function(){ 
     $('<a />').attr({ 
       download: 'export.html', 
       href: "data:text/html," + $('#content').html() 
     })[0].click() 
    }); 
</script> 
3

在zTrix的答案擴展,我建議避免Chrome擴展(這並沒有爲我工作的時候),並與其中一個選項而不是去:

  • 的Node.js:remy's inliner
    • 易於安裝使用npm
    • 許多選項,包括禁用縮小/壓縮,維護外部圖像,跳過視頻等的標誌。
    • 警告:(2017年9月22日)在編譯Slate builds時無法保持樣式和JavaScript功能。這不會直接影響大多數人,但這意味着內聯可能會遇到與其他頁面有關的問題。請參閱this issue
    • 警告:沒有選擇「讓事情孤單」:將縮小/ uglify CSS/JS或美化,但不會簡單地將原始源代碼嵌入到HTML中。
  • 的Python 2:zTrix's webpage2html比內襯
    • 更多保守;在大多數情況下運作良好。
    • zTrix修正了編譯Slate builds時確保JavaScript/CSS功能的錯誤(內聯似乎也有)。請參閱this issue(更新2017年9月29日)
    • 可以是converted to Python 3比較怕疼
    • 警告:不能處理CSS @import