Maison > Questions et réponses > le corps du texte
J'ai déjà vu un article, il peut être téléchargé, mais il ne peut pas être téléchargé sur le navigateur IE, mais d'autres navigateurs le peuvent
Le code est le suivant :
function download(src) {
var $a = document.createElement('a');
$a.setAttribute("href", src);
$a.setAttribute("download", "");
var evObj = document.createEvent('MouseEvents');
evObj.initMouseEvent( 'click', true, true, window, 0, 0, 0, 0, 0, false, false, true, false, 0, null);
$a.dispatchEvent(evObj);
};
Existe-t-il un moyen de le rendre compatible avec IE et de télécharger des images ?
PHP中文网2017-05-19 10:29:13
Sur IE, vous pouvez utiliser window.open(src, name, '', true) pour télécharger.
大家讲道理2017-05-19 10:29:13
J'ai vérifié Baidu et trouvé une solution. J'ai apporté quelques modifications et testé que le téléchargement peut fonctionner sur IE, 360 et Google. Je n'ai pas encore essayé d'autres navigateurs. Je vais faire ce qui suit pour l'instant.
Le code est le suivant :
$("#tab1").bindChildEvent("#download",function(){
var imgPathURL=$("#p_edit_image_views #image").attr("src");
if(imgPathURL){
oDownLoad(imgPathURL);
}else{
$.jAlert("二维码图片为空");
}
});
//判断浏览器类型
function myBrowser(){
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
var isOpera = userAgent.indexOf("Opera") > -1;
if (isOpera) {
return "Opera"
}; //判断是否Opera浏览器
if (userAgent.indexOf("Firefox") > -1) {
return "FF";
} //判断是否Firefox浏览器
if (userAgent.indexOf("Chrome") > -1){
return "Chrome";
}
if (userAgent.indexOf("Safari") > -1) {
return "Safari";
} //判断是否Safari浏览器
if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
return "IE";
}; //判断是否IE浏览器
if (userAgent.indexOf("Trident") > -1) {
return "Edge";
} //判断是否Edge浏览器
}
//IE浏览器图片保存本地
function SaveAs5(imgURL)
{
var oPop = window.open(imgURL,"","width=1, height=1, top=5000, left=5000");
for(; oPop.document.readyState != "complete"; )
{
if (oPop.document.readyState == "complete")break;
}
oPop.document.execCommand("SaveAs");
oPop.close();
}
function oDownLoad(url) {
if (myBrowser()==="IE"||myBrowser()==="Edge"){
SaveAs5(url);
}else{
download(url);
}
}
//谷歌,360极速等浏览器下载
function download(src) {
var $a = document.createElement('a');
$a.setAttribute("href", src);
$a.setAttribute("download", "");
var evObj = document.createEvent('MouseEvents');
evObj.initMouseEvent( 'click', true, true, window, 0, 0, 0, 0, 0, false, false, true, false, 0, null);
$a.dispatchEvent(evObj);
};