是否有任何解决方法使下载文件适用于Safari

时间:2017-05-02 18:23:00

标签: javascript angularjs browser safari

Safari版本< 9.X不支持下载文件。 下载文件的代码

 function downloadCSV(csv, filename) {
          var downloadContainer = angular.element('<div data-tap-disabled="true"><a></a></div>');

          // var downloadLink = angular.element('<a></a>'),
          var downloadLink = angular.element(downloadContainer.children()[0]),
              blob = new Blob([csv], {
                type: 'text/csv;charset=utf-8;'
              });

          if (window.navigator.msSaveOrOpenBlob) {
            // download file for IE
            navigator.msSaveBlob(blob, filename);
          }
          else {
            downloadLink.attr('href',  window.URL.createObjectURL(blob));
            downloadLink.attr('download', filename);
            downloadLink.attr('style', 'display: none');

            angular.element(document).find('body').append(downloadContainer);

            // need timeout here since appending DOM takes some time
            $timeout(function() {
              downloadLink[0].click();
              downloadLink.remove();
            }, 10);
          }
        }

我们的应用程序允许管理员下载文件,它适用于所有浏览器,但不适用于Safari 9.1.2(11601.7.7)。是否有任何解决方法可以使下载属性使下载功能适用于Safari? 谢谢 金

0 个答案:

没有答案