2017-06-21 10 views
0

は私のコードは怒鳴るようなものです:linkElement.dispatcheventオブジェクトこのアクションをサポートしていないIE

  var file = new Blob([response.data], { type: 'application/pdf' }); 

      if (file.size != 0) { 

       var objectUrl = URL.createObjectURL(file); 

       var linkElement = document.createElement('a'); 

       linkElement.setAttribute('href', objectUrl); 

       linkElement.setAttribute("download", fileName); 

       var clickEvent; 
       //This is true only for IE,firefox 
       if (document.createEvent) { 
        // To create a mouse event , first we need to create an event and then initialize it. 
        clickEvent = document.createEvent("MouseEvent"); 
        clickEvent.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); 
       } 
       else { 
        clickEvent = new MouseEvent('click', { 
         'view': window, 
         'bubbles': true, 
         'cancelable': true 
        }); 
       }     
       linkElement.dispatchEvent(clickEvent); 

このコードは、クロム&モジラ、上記のIE 10またはの唯一の問題で正常に動作します。

誰でも教えてもらえますか?

ありがとうございました。

答えて

1

この方法は、すべてのブラウザに適しているわけではありません。 これで、Filesaver.jsを使用して簡単に移動できます。https://github.com/eligrey/FileSaver.js

ページにFilesaver.jsを含め、このファイルのsaveAsメソッドを以下のように使用します。

var file = new Blob([response.data], { type: 'application/pdf' }); 
if (file.size != 0) 
{ 
    $window.saveAs(file, fileName);     
} 
関連する問題