javascript - Comment télécharger des images localement en utilisant JS compatible avec IE
伊谢尔伦
伊谢尔伦 2017-05-19 10:27:13
0
2
753

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伐。

répondre à tous(2)
Ty80

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

大家讲道理

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);
    };
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal