Với mã này (từ người khác):Blob url trong internet explorer với angularjs
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();
});
}
};
});
The fiddle example hoạt động tốt để tải về trong chrome. Nhưng việc nhấp vào liên kết 'tải xuống' sẽ không làm gì trong IE11. Không có lỗi, không cảnh báo, không có phản ứng gì cả.
Nhưng theo this nó được hỗ trợ trong IE10 và 11.
Có một số thiết lập bảo mật IE mà cần phải được thay đổi hoặc những gì đang xảy ra?
IE không hỗ trợ tất cả các loại mime blob, bạn đã thử biến nó thành văn bản thuần túy và xem liệu nó có hoạt động không? – joseeight
Tôi có cùng một vấn đề, và tôi đã thử nó với 'text/plain', không có kết quả. Thật thú vị, tôi có thể nhấp chuột phải, lưu mục tiêu và hoạt động. – bhamlin