recherche

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

javascript - Comment créer un flux de fichiers de téléchargement dynamique dans IE11 à l'aide d'une connexion?

La fonction suivante peut télécharger un fichier txt dans d'autres navigateurs, mais renvoie à une page vierge dans IE11. Le fichier est codé en URL et placé dans la barre d'adresse. Aucun téléchargement n'est déclenché. Comment puis-je déclencher le téléchargement de fichiers dans IE11 ?

Adresse complète du projet : 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_u15822828 Il y a quelques jours611

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

  • PHPz

    PHPz2017-05-19 10:10:47

    Après avoir vérifié les informations, vous pouvez utiliser msSaveBlob exclusif de Microsoft. Cette méthode prend en charge ie10 et supérieur.

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

    répondre
    0
  • Annulerrépondre