a標簽有一個download屬性,加上它就可以實現簡單的下載功能。download屬性值是下載文件的名稱,默認為空則是文件本身的名字。
<a href="https://www.baidu.com/img/bd_logo1.png" download="logo.png">下載圖片</a>
兼容IE的方法:
1 var module = module || {} 2 3 //判斷瀏覽器類型 4 module.browser = function myBrowser() { 5 var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字符串 6 var isOpera = userAgent.indexOf("Opera") > -1; 7 if (isOpera) { return "Opera" }; //判斷是否Opera瀏覽器 8 if (userAgent.indexOf("Firefox") > -1) { return "FF"; } //判斷是否Firefox瀏覽器 9 if (userAgent.indexOf("Chrome") > -1) { return "Chrome"; } 10 if (userAgent.indexOf("Safari") > -1) { return "Safari"; } //判斷是否Safari瀏覽器 11 if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) { return "IE"; }; //判斷是否IE瀏覽器 12 if (userAgent.indexOf("Trident") > -1) { return "Edge"; } //判斷是否Edge瀏覽器 13 } 14 15 module.download = function (url) { 16 $(".size-wrap-pc .size-list").on('click', '.size', function () { 17 // 兼容IE 18 var oPop = window.open($(this).attr('href'), "", ""); 19 window.open('', '_self'); 20 window.close(); 21 for (; oPop.document.readyState != "complete";) { 22 if (oPop.document.readyState == "complete") break; 23 } 24 oPop.document.execCommand("SaveAs"); 25 oPop.location.href = url; 26 //oPop.close(); 27 //} 28 // }else{ 29 // var oPop =window.open($(this).attr('href'), "", ""); 30 // //window.close(); 31 // } 32 }) 33 } 34 35 var b = module.browser(); 36 if (b == "IE" || b == "Edge") { 37 var url = window.location.href; 38 module.download(url); 39 }
由於IE不能直接下載圖片,只能打開圖片,又希望保留當前頁面,第18行,先在新窗口打開圖片,第24行執行存儲命令,彈出文件管理器,當操作結束時,關閉原頁面,第25行將新窗口跳轉到原來的地址。
