我在AngularJS应用程序中有以下程序在新标签页中打开文本文件以保存:
$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中打开。
我做错了什么?我该如何做到这一点?
更新:
我在IE中完成了这样的事情:
$scope.createString()
.then(function () {
var blob = new Blob([$scope.createdString], { type: 'text/plain' });
window.navigator.msSaveOrOpenBlob(blob, 'Test.txt');
});
但是有一种适用于所有浏览器的标准化方法吗?
答案 0 :(得分:0)
我用来完成这项工作的另一种方法是使用传统的<a>
代码打开blob,使用target='_blank'
属性。
获得blob对象网址后,只需将其插入href
属性,您就会看到如下内容:
<a target="_blank" href="blob:http://example.com/523d3551-80fd-4fb0-a0fc-5194d928cc6d">Print</a>