当前位置: 首页 > Web前端 > JavaScript

js保存图片(兼容ie)

时间:2023-03-27 12:37:37 JavaScript

使用window.navigator.userAgent获取你的浏览器内核,然后判断是否是ie/edge内核//判断浏览器类型functionmyBrowser(){varsBrowser=nullvarsUsrAg=窗口。navigator.userAgentif(sUsrAg.indexOf('Firefox')>-1){sBrowser='FF'}elseif(sUsrAg.indexOf('Opera')>-1||sUsrAg.indexOf('OPR')>-1){sBrowser='Opera'}elseif(sUsrAg.indexOf('Trident')>-1){sBrowser='IE'}elseif(sUsrAg.indexOf('Edge')>-1){sBrowser='Edge'}elseif(sUsrAg.indexOf('Chrome')>-1){sBrowser='Chrome'}elseif(sUsrAg.indexOf('Safari')>-1){sBrowser='Safari'}else{sBrowser='unknown'}returnsBrowser}如果是ie/edgekernel//IE浏览器图片保存本地functionSaveAs5(url,fileName){varbstr=atob(url.split(',')[1])varn=bstr.lengthvaru8arr=newUint8Array(n)while(n--){u8arr[n]=bstr.charCodeAt(n)}varblob=newBlob([u8arr])window.navigator.msSaveOrOpenBlob(blob,fileName)}其他浏览器//Google、极速等浏览器下载函数download(src,fileName){varaLink=document.createElement('a');aLink.download=文件名;aLink.href=srcaLink.click();};完成js代码//下载前判断浏览器内核函数oDownLoad(url,fileName){if(myBrowser()=="IE"||myBrowser()=="Edge"){SaveAs5(url,文件名);}else{下载(网址,文件名);}}//IE浏览器图片保存本地函数SaveAs5(url,fileName){varbstr=atob(url.split(',')[1])varn=bstr.lengthvaru8arr=newUint8Array(n)while(n--){u8arr[n]=bstr.charCodeAt(n)}varblob=newBlob([u8arr])window.navigator.msSaveOrOpenBlob(blob,fileName)}//谷歌,360浏览器下载函数download(src,fileName){//需要转成blob,base64下载大图会超过href的限制,导致下载失败varaLink=document.createElement('a');aLink.download=文件名;//varblob=dataURLtoBlob(src);aLink.href=src//URL.createObjectURL(blob);aLink.click();};//判断浏览器类型functionmyBrowser(){varsBrowser=nullvarsUsrAg=window.navigator.userAgentif(sUsrAg.indexOf('Firefox')>-1){sBrowser='FF'}elseif(sUsrAg.indexOf('Opera')>-1||sUsrAg.indexOf('OPR')>-1){sBrowser='Opera'}elseif(sUsrAg.indexOf('Trident')>-1){sBrowser='IE'}elseif(sUsrAg.indexOf('Edge')>-1){sBrowser='Edge'}elseif(sUsrAg.indexOf('Chrome')>-1){sBrowser='Chrome'}elseif(sUsrAg.indexOf('Safari')>-1){sBrowser='Safari'}else{sBrowser='unknown'}returnsBrowser}//直接引用oDownLoad(base64文件,'aa.jpg')dataURLtoBlob你可能用不到,换个方式试试