Webページを一つのファイルに保存する MHTML というフォーマット
Webサイトをローカルに保存する場合、たいていメニューの [ファイル] から [名前をつけて保存] するわけですが、普通に [Web ページ、完全] を選択した場合、HTML の他、画像などの外部ファイルが別ファイルとして保存されます。
これはこれで何の問題もないのですが、たまに 「外部ファイル込みで1ファイルにならないかなぁ?」 とか思ってたんですよ。だってそのほうが扱うのに便利じゃないですか。
もちろん全ファイルを ZIP とか LZH で圧縮してもいいのですが、見るときに解凍しないといけなかったりして、ちょっと不便なんですよね。
もっとも、ZIP なら Windows からそのまま開けるのでそこまでは困らないのですが、今度は圧縮する手間がね、面倒くさいんですよ。
というわけで、どうしたもんかいなぁ? と思ってたところに mhtml(mht) というファイル形式があると聞きまして、ちょっと試してみました。
この mhtml とはどういうものかというと、
MIMEのマルチパートを利用することで、元となるHTML文書と、それからリンクされる画像や動画などのリソースを1つのデータとして纏めるフォーマットである。電子メールでの利用を想定しているが、ウェブページを一つのファイルとして保存する用途にも用いられている。
MHTML - Wikipedia より引用
だそうで、ファイルの種類としてはテキストファイルになります。
作り方は IE もしくは Opera で保存したいページを開いて、普通にメニューの [ファイル] から [名前をつけて保存]([保存]) を選択します。そしてファイルの保存形式として [Web アーカイブ、単一ファイル] を選択すればOKです。
そんなわけで、なかなかに使い勝手がよさそうなフォーマットではあるものの、どの Webブラウザでも作成できるわけではないのがちょっと残念かも。
また表示についても、IE では問題がなかったのですが、Chrome と Opera では JavaScript が動きませんでした。まぁ、これはセキュリティ的にそうなっているんだと思います。多分設定で何とか出来るんでしょうけど、未検証です。
なお、Firefox については、UnMHT というアドオンをインストールすることで、表示&保存ができるようになります。
動作確認については、Windows XP SP3 上の IE 8,Opera 12.13,Chrome 30.0,Firefox 24 にて行いました。