cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Bagaimana untuk menggunakan sambungan untuk mencipta aliran fail muat turun dinamik dalam ie11?

Fungsi berikut boleh memuat turun fail txt dalam penyemak imbas lain, tetapi melompat ke halaman kosong dalam IE11. Fail dikodkan URL dan diletakkan dalam bar alamat. Tiada muat turun dicetuskan. Bagaimanakah saya boleh mencetuskan muat turun fail dalam IE11?

Alamat penuh projek: https://github.com/wangduandu...

    this.downloadLog = function() {
        var file = "data:text/plain;charset=utf-8,";
        var logFile = self.getLog();
        var encoded = encodeURIComponent(logFile);
        file += encoded;
        var a = document.createElement('a');
        a.href = file;
        a.target   = '_blank';
        a.download = self.formatTimestamp()+ '-' + self.logFilename;
        document.body.appendChild(a);
        a.click();
        a.remove();
    };

phpcn_u1582phpcn_u15822829 hari yang lalu614

membalas semua(1)saya akan balas

  • PHPz

    PHPz2017-05-19 10:10:47

    Selepas menyemak maklumat, anda boleh menggunakan msSaveBlob eksklusif Microsoft Kaedah ini menyokong ie10 dan ke atas.

    var downloadFileName = self.formatTimestamp()+ '-' + self.logFilename;
    
            if(window.navigator.msSaveBlob){
                // for ie 10 and later
                try{
                    var blobObject = new Blob([self.output]); 
                    window.navigator.msSaveBlob(blobObject, downloadFileName); 
                }
                catch(e){
                    console.log(e);
                }
            }
            else{
                var file = "data:text/plain;charset=utf-8,";
                var logFile = self.output;
                var encoded = encodeURIComponent(logFile);
                file += encoded;
                var a = document.createElement('a');
                a.href = file;
                a.target   = '_blank';
                a.download = downloadFileName;
                document.body.appendChild(a);
                a.click();
                a.remove();
            }
    

    balas
    0
  • Batalbalas