2017-04-17 32 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>