2017-04-17 60 views
1

我已經按照我的AngularJS應用程序在新標籤中打開一個文本文件來保存打開的Blob網址:在新標籤頁(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 /開鏈接國產按createobjecturl功能於IE11 –

回答

0

我用來完成這項工作的另一種方法是使用傳統的<a>標籤來打開blob,使用target='_blank'屬性。

一旦你的blob對象的網址,只需將其插入href屬性,你就會有一些看起來像這樣:

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