本文为博主原创,转载请注明出处:
在应用POI进行导出时,先应用POI进行数据封装,将数据封装到Excel中,然后在进行download下载操作,从而完成
POI导出操作。由于在download操作时,会进行区别浏览器,并分别做适应才能导出。由于做的适应比较少,导致在IE浏览器
导出时,一直导出失败。
最终发现在js中没有对IE进行识别适应,对其方法应用如下:
function getBrowserInfo() { ???var Sys = {}; ???var ua = navigator.userAgent.toLowerCase(); ???var re = /(msie|firefox|chrome|opera|version).*?([\d.]+)/; ???var m = ua.match(re); ???try{ ???????Sys.browser = m[1].replace(/version/, "‘safari"); ???????Sys.ver = m[2]; ???}catch(e) ???{ ???????console.log("getBrowserInfo fail.") ???} ???return Sys;}
以上方法在js中会进行识别,并返回对应的浏览器类型。
修改以后的方法如下:
function myBrowser() { ???var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 ???var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器 ???var isIE = userAgent.indexOf("compatible") > -1 ???????????&& userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器 ???var isEdge = userAgent.indexOf("Edge") > -1; //判断是否IE的Edge浏览器 ???var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器 ???var isSafari = userAgent.indexOf("Safari") > -1 ???????????&& userAgent.indexOf("Chrome") == -1; //判断是否Safari浏览器 ???var isChrome = userAgent.indexOf("Chrome") > -1 ???????????&& userAgent.indexOf("Safari") > -1; //判断Chrome浏览器 ???if (isIE) { ???????var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); ???????reIE.test(userAgent); ???????var fIEVersion = parseFloat(RegExp["$1"]); ???????if (fIEVersion == 7) { ???????????return "IE7"; ???????} else if (fIEVersion == 8) { ???????????return "IE8"; ???????} else if (fIEVersion == 9) { ???????????return "IE9"; ???????} else if (fIEVersion == 10) { ???????????return "IE10"; ???????} else if (fIEVersion == 11) { ???????????return "IE11"; ???????} else { ???????????return "0"; ???????}//IE版本过低 ???????return "IE"; ???} ???if (isOpera) { ???????return "Opera"; ???} ???if (isEdge) { ???????return "Edge"; ???} ???if (isFF) { ???????return "FF"; ???} ???if (isSafari) { ???????return "Safari"; ???} ???if (isChrome) { ???????return "Chrome"; ???} ???}
之后在后台进行浏览器进行适应,之后就可以导出成功了。
js中获取当前浏览器类型
原文地址:https://www.cnblogs.com/zjdxr-up/p/8493416.html