问题描述:谷歌下载功能正常,可是ie11下载功能失效。javascript
解决此问题用到的插件:jszip-utils-ie.js,jszip.js,jszip-utils.js
以前使用的是form表单进行下载处理,可是这个只使用与谷歌等部分浏览器的下载,不支持ie。html
var form = $("<form>"); //定义一个form表单 form.attr("style", "display:none"); form.attr("target", ""); form.attr("method", "get"); //请求类型 form.attr("action", url); //请求地址请输入代码 var input1 = $("<input>"); input1.attr("type", "hidden"); input1.attr("name", "access_token"); input1.attr("value", appconfig.token); form.append(input1); $("body").append(form); //将表单放置在web中 form.submit();
解决方案java
html须要作兼容ie判断 <script type="text/javascript" src="../lib/jszip.js"></script> <script type="text/javascript" src="../lib/jszip-utils.js"></script> <!--[if IE]> <script type="text/javascript" src="js/jszip-utils-ie.js"></script> <![endif]--> 使用JSZip进行兼容性处理: // 1) get a promise of the content var promise = new JSZip.external.Promise(function (resolve, reject) { JSZipUtils.getBinaryContent(url, function (err, data) { if (err) { reject(err); } else { resolve(data); } }); }); promise.then(JSZip.loadAsync) // 2) chain with the zip promise .then(function (zip) { // return zip.file("Hello.txt").async("string"); // 3) chain with the text content promise // var zip = new JSZip(); zip.generateAsync({type: "blob"}) .then(function (blob) { saveAs(blob, mapid + ".zip"); }); // saveAs(zip,"bb.zip"); })