LoginSignup
1

More than 3 years have passed since last update.

[JavaScript]download属性が効かないIEのために

Last updated at Posted at 2020-04-22

概要

下記のようにaタグにdownload属性を設定することで、「dl.pdf」を「ダウンロード.pdf」としてダウンロードして保存できるが、IEではうまく効かない。

<a href="dl.pdf" download="ダウンロード.pdf">

スクリプト

    if(document.documentMode && navigator.msSaveOrOpenBlob){
        var as = $('a');
        as.on('click',function(eve){
            var $a = $(this);
            if(!$a.attr("download")){
                return false;
            }
            eve.preventDefault();
            var filename = $a.attr("download");
            var xhr = new XMLHttpRequest();
            xhr.open("GET", $a.attr("href"));
            xhr.responseType = "blob";
            xhr.send();
            xhr.onload = function(){
                navigator.msSaveOrOpenBlob(xhr.response, filename);
            };
            return false;
        });
    }

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1