Rumah  >  Soal Jawab  >  teks badan

javascript - Bagaimana untuk memuat turun gambar secara tempatan menggunakan JS yang serasi dengan IE

Saya pernah melihat siaran sebelum ini, ia boleh dimuat turun, tetapi ia tidak boleh dimuat turun pada pelayar IE, tetapi pelayar lain boleh

Kod adalah seperti berikut:

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);
    };

Adakah terdapat cara untuk menjadikannya serasi dengan IE dan memuat turun gambar?

伊谢尔伦伊谢尔伦2711 hari yang lalu734

membalas semua(2)saya akan balas

  • PHP中文网

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

    Pada IE, anda boleh menggunakan window.open(src, name, '', true) untuk memuat turun.

    balas
    0
  • 大家讲道理

    大家讲道理2017-05-19 10:29:13

    Saya menyemak Baidu dan menemui penyelesaian Saya membuat beberapa pengubahsuaian dan menguji bahawa muat turun boleh dijalankan pada IE, 360 dan Google Saya belum mencubanya pada penyemak imbas lain

    Kod adalah seperti berikut:

        $("#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);
        };

    balas
    0
  • Batalbalas