2009-07-30 21 views
504

確かに、どのブラウザがBase64イメージの埋め込みを行うのですか?私が指しているのはthisです。Base64イメージの埋め込み

私はそれがページサイズをかなり増加させるので、通常はほとんどの場合、良い解決策ではないことを認識しています。私はちょうど興味があります。

いくつかの例:

HTML:

<img alt="Embedded Image" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." /> 

CSS:

div.image { 
    width:100px; 
    height:100px; 
    background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA...); 
} 
+2

例を含むページをセットアップしないと、私たちはすべて実際のテストを行い、ここで報告します。 –

+0

いいですね、それも試してみます。 –

+3

64ビットは6文字2^6しかかかりません。テキスト文字列は、エンコーディングタイプに応じて最小で文字あたり8ビットを持ちます。あなたは少なくとも25%の効率を失っています....私のクイックテストは約30%の損失を示しました。 –

答えて

327

更新日:2017年1月10日

すべての主要なブラウザでデータURIがサポートされるようになりました。 IEはバージョン8以降の画像の埋め込みもサポートしています。

http://caniuse.com/#feat=datauri


データのURIは現在、以下のWebブラウザでサポートされています

  • などのFirefox、SeaMonkeyの、XeroBank、カミノ、フェネックとK-Meleonとして、Geckoベース
  • Konqueror、KDEのKIOスレーブ入出力システム経由
  • オペラ( Nintendo DSiまたはWii)
  • Safari(iOSを含む)、Androidのブラウザ、EpiphanyおよびMidori(WebKitはKonquerorのKHTMLエンジンの派生物ですが、Mac OS XはKIOアーキテクチャを共有しません。 )異なる、などのWebkit /クロム等、クロム系いる
  • トライデント
    • のInternet Explorer 8:Microsoftは懸念を含め、セキュリティ上の理由から、特定の「非航行」コンテンツへのサポートが制限されたことのJavaScriptデータURIに埋め込まれた文字列は、Webベースの電子メールクライアントによって使用されるようなスクリプトフィルタによって解釈できない場合があります。データURIはバージョン8 [32]では32 KiBより小さくなければなりません。
      • オブジェクト(画像のみ)
      • IMG
      • 入力タイプ=画像
      • リンク
    • データURIは、以下の要素および/または属性[4]でのみサポートされています
    • background-image、background、list-style-type、list-styleなどのURLを受け入れるCSS宣言。
    • Internet Explorer 9:Internet Explorer 9には32KBの制限がなく、より幅広い要素で使用できます。
    • TheWorldブラウザ:組み込まれている、このようなクロム、MozillaやInternet ExplorerなどのデータURIスキーム

http://en.wikipedia.org/wiki/Data_URI_scheme#Web_browser_support

+0

こんにちはフィリップ、IE8の32 KiBサイズ制限の回避策はありますか? IE7とIE6ではbase64がサポートされていますか?いいえ、任意の回避策(サイズ制限なし)?はいの場合、サイズ制限はありますか?はいの場合、回避策はありますか? – SexyBeast

+0

これを見て、おそらく助けになるでしょう:http://www.phpied.com/mhtml-when-you-need-data-uris-in-ie-ie7-and-under/ –

+0

標準は何かを言いますか?良い回答の更新のための特定のupvote =)。 –

47

最近のほとんどのデスクトップブラウザのサポートIEのシェルブラウザデータURLとしてエンコードされた画像をサポートします。しかし、一部のモバイルブラウザにデータURLを表示する際に問題があります。Android Stock BrowserとDolphin Browserには埋め込みJPEGは表示されません。

私はオンラインbase64エンコード/デコードするために次のツールを使用することができreccomend:

"書式データURLとして" オプションへの確認データURLとしてフォーマットします。

関連する問題