ホームページ >ウェブフロントエンド >htmlチュートリアル >データ URI と MHTML がすべてのブラウザー_HTML/Xhtml_Web ページ制作を完全に解決します
データ URI
データ URI は、小さなファイルをドキュメントに直接埋め込むために RFC 2397 で定義されたスキームです。次の構文を使用すると、小さなファイルを指定したエンコーディングに変換し、ページに直接埋め込むことができます:
データ:[
前世紀HTML4.01 ではデータ URI スキームが導入されました。現在IE6 と IE7 を除くすべての主要なブラウザはをサポートしていますが、IE8 のサポートはデータ URI はまだ制限されています 。サポートされるのはオブジェクト (写真のみ)、img、input type=image、リンク、CSS の URL のみであり、データ サイズは 32K を超えることはできません。
利点:
欠点:
MHTML
MHTML は MIME HTML (MultiPurpose Internet Mail Extension HTML) の略称で、マルチメディア ページのすべてのコンテンツを同じドキュメントに保存するための RFC 2557 で定義されたソリューションです。この解決策は、IE5.0 からサポートするために Microsoft によって提案され、Opera9.0 もサポートを開始しました。Safari はファイルを .mht (MHTML ファイル拡張子) 形式で保存できますが、その表示はサポートしていません。
MHTML はデータ URI に比較的似ており、より強力な機能とより複雑な構文を備えており、データ URI の「再利用できない」という欠点はありません。ただし、MHTML は、次のような柔軟性と利便性を備えていません。リソース参照の URL。mht ファイル内の相対アドレスにすることができます。それ以外の場合は、絶対アドレスにする必要があります。 hedger の 《HTML に埋め込まれたクロスブラウザ Base64 エンコード画像》IE のソリューションでは、Content-type: message/rfc822 が宣言されているため、コンテンツが MHTML に従って解析されます。この場合、《MHTML – データが必要な場合: IE7 以下の URI》 などの絶対パスを使用する必要があります。
適用
データ URI と MHTML の組み合わせは、すべての主流ブラウザの問題を完全に解決できます。これらはキャッシュして再利用できないため、ページ内で直接使用するのには適していませんが、CSS および JavaScript ファイルでの使用には適しています。写真を適切に使用すると、次のような大きな利点があります:
CSS でのデータ URI と MHTML の実装を容易にするために、データ URI と MHTML ジェネレーターを作成しました。生成されたデータ URI と MHTML アプリケーションの例をご覧ください。
CSS ファイルで MHTML を使用する場合、URL は絶対パスを使用する必要がありますが、これは柔軟性が非常に低いため、次のような CSS 式 (DEMO) を使用して解決することを検討できます。
/* http://old9.blogsome.com/2008/10/26/css-expression-reloaded/
http://dancewithnet.com/2009/07/27/ get-right-url-from-html/
*/
*background-image:expression(function(ele){
ele.style.backgroundImage = 'url(mhtml:'
ドキュメント。 getElementByid( 'data-uri-css')