4

その場でbase64gifを生成していて、新しいページへのリンクを作成してgifのフルサイズバージョンを開こうとしています。これはChromeで機能しますが、IEではimgサムネイルのみが表示されます。IEのリンクをクリックすると、空白のページが開きます。

何かご意見は?

ありがとう

マット

echo '<a href="data:image/gif;base64,'. $data. '" target=_blank>';
echo '<img src="data:image/gif;base64,'. $data . '" width="200"/></a>';
4

2 に答える 2

4

これによると、IE でのナビゲーションにデータ uri を使用することはできません。

  • バージョン 7 までの Internet Explorer (2011 年 9 月現在、Web トラフィックの約 5%) はサポートされていません。ただし、これはブラウザ固有のコンテンツを提供することで克服できます。[ 6 ]
  • Internet Explorer 8 では、データ URI が最大 32 KB に制限されています。(Internet Explorer 9 にはこの制限はありません) [ 4 ][ 3 ]
  • IE 8 および 9 では、データ URI は画像にのみ使用できますが、ナビゲーションや Javascript で生成されたファイルのダウンロードには使用できません。[ 7 ]
于 2012-10-09T02:44:04.857 に答える
1

Java を使用する場合は、サーブレット デコーダを作成します。このように: https://gist.github.com/sjpuas/6217394これはすべての IE バージョンで動作します

jqueryを使用して、このようなURL画像を置き換えます

if ($.browser.msie && $.browser.version == "6.0") {
                $("img[src*=base64]").each(function (i, img) {
                    var base64 = $(img).attr("src").split("base64,")[1];
                    var encoded = encodeURIComponent(base64);
                    $(img).attr("src", "/myApp/base64Servlet?base64=" + encoded);
                });
            }
于 2013-08-13T02:49:08.313 に答える