使用angular js防止Microsoft Edge中的OPEN文件提示

时间:2018-08-02 09:35:29

标签: javascript angularjs microsoft-edge

我在angular js中有一个代码,单击按钮即可下载一个excel文件。在chrome中,点击按钮会自动开始下载文件。但是在Microsoft Edge上,单击按钮会显示提示,询​​问用户是否要打开或保存文件。单击提示中的保存按钮会显示另一个提示,其中包含3个按钮OPEN,OPEN FOLDER和VIEW DOWNLOADS。 enter image description here

我知道Edge提供了设置选项来禁用每次下载的提示。 但是有什么办法可以开始下载,但是下载后没有显示第二个提示,询问您使用angular js还是jquery做什么?

下载文件的代码如下:

                    var fileName;
                    var a = document.createElement("a");
                    document.body.appendChild(a);
                    var type = headers('Content-Type');
                    var disposition = headers('Content-Disposition');
                    if (disposition) {
                        var match = disposition.match(/.*filename=\"?([^;\"]+)\"?.*/);
                        if (match[1])
                            fileName = match[1];
                    }
                    var blob = new Blob([data], {
                            type: type
                        }),
                        url = window.URL.createObjectURL(blob);
                    if (blob.size == 0) {
                        return;
                    }
                    a.href = url;
                    a.download = fileName;

                    var isIE = false || document.documentMode || /Edge/.test(navigator.userAgent); //if browser is IE and Edge
                    if (isIE) {
                        window.blur();
                        window.navigator.msSaveOrOpenBlob(blob, fileName);
                    } else {
                        a.style = "display: none";
                        a.click();
                        window.URL.revokeObjectURL(url);
                    }

0 个答案:

没有答案