Maison  >  Questions et réponses  >  le corps du texte

javascript - Comment télécharger des images localement en utilisant JS compatible avec IE

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 ?

伊谢尔伦伊谢尔伦2711 Il y a quelques jours732

répondre à tous(2)je répondrai

  • PHP中文网

    PHP中文网2017-05-19 10:29:13

    Sur IE, vous pouvez utiliser window.open(src, name, '', true) pour télécharger.

    répondre
    0
  • 大家讲道理

    大家讲道理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);
        };

    répondre
    0
  • Annulerrépondre