2017-04-17 8 views
1

で開くのBlob URL:私は保存するために新しいタブでテキストファイルを開くには、私のAngularJSアプリの手順を以下している新しいタブ(IE)

$scope.createString() 
       .then(function() { 
        var windowReference = window.open(); 
        var blob = new Blob([$scope.createdString], { type: 'text/plain' }); 
        var url = (window.URL || window.webkitURL).createObjectURL(blob); 
        windowReference.location = url; 
       }); 

しかし、これは動作しません。新しいタブでは同じリンクを開きますが、作成されたBlob-Urlは開きません。

どうすればいいですか?これをどのように達成するのですか?

UPDATE:

私はこのようにIEでそれを成し遂げ:

$scope.createString() 
       .then(function() { 
        var blob = new Blob([$scope.createdString], { type: 'text/plain' }); 
        window.navigator.msSaveOrOpenBlob(blob, 'Test.txt'); 
       }); 

しかし、すべてのブラウザで動作標準的な方法はありますか?

+0

をご参照くださいhttps://stackoverflow.com/questions/24007073を/ open-links-made-by-createobjecturl-in-ie11 –

答えて

0

私がこの作業を行うために使用した別のアプローチは、target='_blank'属性を使用して、従来の<a>タグを使用してブロブを開くことです。あなたはBLOBオブジェクトのURLを取得したら

は、ちょうどhref属性に差し込み、あなたはこのようなものがあります:

<a target="_blank" href="blob:http://example.com/523d3551-80fd-4fb0-a0fc-5194d928cc6d">Print</a> 
関連する問題