2013-04-23 147 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