Nic*_*ros 12 javascript html5 internet-explorer angularjs bloburls
鉴于此代码(来自其他人):
var module = angular.module('myApp', []);
module.controller('MyCtrl', function ($scope){
$scope.json = JSON.stringify({a:1, b:2});
});
module.directive('myDownload', function ($compile) {
return {
restrict:'E',
scope:{ data: '=' },
link:function (scope, elm, attrs) {
function getUrl(){
return URL.createObjectURL(new Blob([JSON.stringify(scope.data)], {type: "application/json"}));
}
elm.append($compile(
'<a class="btn" download="backup.json"' +
'href="' + getUrl() + '">' +
'Download' +
'</a>'
)(scope));
scope.$watch(scope.data, function(){
elm.children()[0].href = getUrl();
});
}
};
});
Run Code Online (Sandbox Code Playgroud)
小提琴示例可以在Chrome中下载.但是单击"下载"链接在IE11中没有任何作用.没有错误,没有警告,没有任何响应.
但根据这个它在IE10和11.1的支持.
是否有一些需要更改的IE安全设置或正在进行的操作?
Nic*_*ros 17
为此找到了解决方案.首先,IE处理不同的blob,特别是它使用:
window.navigator.msSaveOrOpenBlob(new Blob([element], {type:"text/plain"}), "filename.txt");`
Run Code Online (Sandbox Code Playgroud)
如果您查看此页面的源代码,您将看到他们是如何做到的.
但是要让它与跨浏览器支持一起使用是一件痛苦的事情......而且最终你会得到FileSaver.js.
..这就是我最终使用的,并且像一个魅力.
归档时间: |
|
查看次数: |
21329 次 |
最近记录: |