2015-10-15 20 views
15

This simple code works perfectly everywhere except Microsoft Edge:データURIリンク<a href="data: doesn't work in Microsoft Edge

<a href="data:text/plain;charset=utf-8,Test">link</a> 

[JSFiddle]私は取得していますマイクロソフトのエッジで

「それは奇妙だ...マイクロソフトでは、このページを見つけることができません」エラー:Mozilla documentationから

enter image description here

例もで作業していません同じ結果。

ここエッジコンソールからの出力です:新しいエッジウィンドウを開くときに

このエラーが発生し、新しいタブには、デフォルトの検索エンジンに検索クエリとしてdata:text/plain;charset=utf-8,Testを入力します。

マイクロソフトのエッジがdata:

のための定義誰もがこの解決策を知っていていないように思えますか?


更新:残念ながら、IE /エッジ内のリンクでデータURIを使用する方法はありませんようです。 Detect data URI in links support with Modernizr

+0

私はさらにいくつかのテストを行なったし、それはそうデータの定義は決してありませんでした。インターネットエクスプローラでは、MS Edgeではなく、インターネットエクスプローラ9に戻ってテストされています。反対に、クロムではクロム1.0 –

+0

画像には効果がありますか? base64で書かれたイメージはMicrosoft-Edgeで読み込まれますか? – lilezek

+6

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

答えて

5

どちらもデータのURIに移動IEやマイクロソフトエッジサポート:私は、リンクでデータURIのサポートを検出について関連する質問を作成しました。 MSDNは、これがfor security reasonsだと主張しています。

唯一の解決策は、コンテンツを含むリソースに対して、(たとえば、file://またはhttp://など)をサポートするスキームを使用してリンクすることです。 HTMLだけがこのようにサポートされていたものの、URIスキーム:

は興味深いことに、IEの古いバージョン(私は6よりも古い話)は約内のデータのURIへの前駆体を支持しました。これらのURIは今日も機能しなくなり、単に「ナビゲーションキャンセル」(以前は「アクションキャンセル」)にリダイレクトされます。

+0

で動作しません理由 " - すべてを説明します:)そのリンクをありがとう、私はリンクのデータURIがブラウザでサポートされていることを検出することについて別の質問をしました:http://stackoverflow.com/q/33197625/1331425あなたが助けることができるかもしれませんそれ。ありがとうございました!この問題の –

+0

上げスパルタンユーザーボイス「アイデア」:https://windows.uservoice.com/forums/285214-microsoft-edge/suggestions/10261974-support-data-uri-protocol – myf

+0

@myf:まだスパルタンが上回っていた希望単なるコードネーム。提案を投稿していただきありがとうございます。 – BoltClock

2

IEとエッジがソースとしてデータURIと<img>タグをサポートしていますので、あなたが文書に書き込むためにはJavaScriptを使用して、画像へのリンクをごまかすことができます。

<a href="javascript:document.write('<img src=data:image/png;base64,iVBORw0KGgoAA 
AANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD///+l2Z/dAAAAM0l 
EQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4Ug9C9zwz3gVLMDA/A6 
P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC />')">link</a> 
+0

これは良いことです。しかし、hrefタグの "download"属性を使ってイメージをダウンロードすることはできません。 – hhzhu

関連する問題