【JavaScript】IEの場合のdownload属性の代替

【JavaScript】IEの場合のdownload属性の代替

IEの場合、aタグのdownload属性が効かず、ファイルのダウンロードできなかったため、その代替案についての覚え書きです(Drupalネタではないです)。

download属性

Excelファイルをダウンロードできるように、以下のようなリンクを作成し、ファイルがダウンロードできることを確認していたのですが、


<a download="Test.xlsx" href="/download/Test.xlsx">Test.xlsx</a>

IEの場合、これではダウンロードできないとのことで、その対応結果を以下に記します。

JavaScriptでの対応

ググったところ、JavaScriptで画像をダウンロードしたいの記事によると、JavaScriptを使えば、IEでもリンクからファイルのダウンロードができるとのこと。

上記の記事を参考にして、以下のJavaScriptを記述。


function downloadFile(uri,fileName,id) {

    // IEはdownload属性が効かないので分岐
    if (window.navigator.msSaveOrOpenBlob) {
        let xhr = new XMLHttpRequest();
        xhr.open('GET', uri);
        xhr.responseType = 'blob';
        xhr.onloadend = function() {
            if (xhr.status !== 200) {
                return false;
            }
            window.navigator.msSaveOrOpenBlob(xhr.response, fileName);
        };
        xhr.send();
    } else {
        let link = document.getElementById(id);
        link.href = uri;
        link.download = fileName;
    }
}


HTMLは、以下のように記述を変更し、IEでもファイルをダウンロードできるようになりました。


<a id="download1" href="javascript:void(0);" onclick="downloadFile('/download/Test.xlsx','Test.xlsx','download1');">Test.xlsx</a>

カテゴリー

コメント

the dark internet <a href="https://tordarknetmarkets2023.shop/ ">darkmarket list </a>
名前
Robertfup
dark web market list <a href="https://tordarkmarketweb.shop/ ">deep web drug url </a>
名前
Geraldhopay
tor market links <a href="https://torwebmarketplace.shop/ ">darknet markets 2023 </a>
名前
Dannyquord
dark market 2022 <a href="https://privatedarkwebmarket.com/ ">dark web search engines </a>
名前
WilliamRip
darknet markets 2023 <a href="https://darkmarketalliance.com/ ">darknet market lists </a>
名前
MichaelRaf
tor market links <a href="https://torwebmarketplace.com/ ">dark web market links </a>
名前
ZacharyBop
dark net <a href="https://tordarknetmarketlist.com/ ">dark web market list </a>
名前
Josephanarm
darknet sites <a href="https://thedarkmarketpoint.com/ ">the dark internet </a>
名前
Tornaddib
how to get on dark web <a href="https://tordarkmarketplace.com/ ">darkmarket 2022 </a>
名前
Shanewat
darknet seiten <a href="https://tor-market-darknet.shop/ ">onion market </a>
名前
Wendellpog
dark web drug marketplace <a href="https://tor-darkmarket-online.com/ ">dark web markets </a>
名前
JamesStaiz
dark market 2023 <a href="https://darknetmarketdir.com/ ">tor market links </a>
名前
JackieDuart
darknet drug links <a href="https://tordarkwebmarketlink.shop/ ">darknet links </a>
名前
Patrickhuple
darknet markets <a href="https://thedarkwebmarkest.shop/ ">dark market 2023 </a>
名前
SmittMef
the dark internet <a href="https://dark-web-market.com/ ">tor market </a>
名前
BrianFew
darkmarket link <a href="https://tordarkwebmarkets2022.shop/ ">darknet drug market </a>
名前
JuliusEsobe
darkmarket 2023 <a href="https://tordarknetmarket24.link/ ">deep web drug url </a>
名前
Georgelouse
dark internet <a href="https://tor-markets-darkweb.link/ ">tor market links </a>
名前
Davidjoisp
darkweb marketplace <a href="https://torwebdarknet.com/ ">dark market 2022 </a>
名前
Randykew
dark web market links <a href="https://tordarkmarketweb.link/ ">darknet marketplace </a>
名前
DamonLat
tor market url <a href="https://tor-market-darkweb.link/ ">dark market list </a>
名前
Danired
bitcoin dark web <a href="https://darkmarketslist.shop/ ">darkmarkets </a>
名前
Michaelloush
tor dark web <a href="https://tordarkmarketurl.link/ ">deep web markets </a>
名前
CraigAgeni
darknet market list <a href="https://privatedarkwebmarket.shop/ ">black internet </a>
名前
Jancal
dark web site <a href="https://tordarkwebslist.shop/ ">drug markets dark web </a>
名前
DonaldDic
tor markets links <a href="https://tordarknetmarket2022.shop/ ">the dark internet </a>
名前
Randytiz
darknet market lists <a href="https://tor-markets-darknet.shop/ ">dark markets 2022 </a>
名前
Sirket
how to get on dark web <a href="https://darknetmarketmix.com/ ">darknet drugs </a>
名前
RichardDek
tor dark web <a href="https://dark0de-markets.com/ ">dark market onion </a>
名前
Matthewgek
black internet <a href="https://privatedarknetmarkets.shop/ ">dark markets </a>
名前
Davidinodo
darknet websites <a href="https://tordarkwebmarketlinks.shop/ ">darkmarket 2023 </a>
名前
TimmyMeexy
deep web search <a href="https://tordarkweblist.link/ ">darknet drug store </a>
名前
Julianacecy
dark web market links <a href="https://tor-darkmarket-online.shop/ ">darknet market lists </a>
名前
CharlesNuh
darknet market <a href="https://tordarknetmarketlist.shop/ ">darknet drug market </a>
名前
JamesseM
dark web sites links <a href="https://tordarkmarketurl.com/ ">dark market onion </a>
名前
Ronaldevica
darknet links <a href="https://tormarketwebxx.shop/ ">the dark internet </a>
名前
JasonGribe
dark markets 2022 <a href="https://darknet-markets.shop/ ">tor market </a>
名前
RobertKix
darknet market lists <a href="https://thetormarket.com/ ">deep web drug links </a>
名前
Ralphzet
drug markets dark web <a href="https://tor-markets2023.shop/ ">darknet sites </a>
名前
WilliamNaw
dark market 2022 <a href="https://darkmarketlist.shop/ ">dark web search engine </a>
名前
Stevejails
tor market links <a href="https://privatedarkwebmarkets.link/ ">darkmarkets </a>
名前
Crisscunc
free dark web <a href="https://thedarknetmarket.com/ ">darknet market lists </a>
名前
CorryViarD
darkmarket <a href="https://tordarkweblist.com/ ">deep web drug markets </a>
名前
BrandonWaype
dark market url <a href="https://tordarkwebslist.link/ ">darknet drug market </a>
名前
Michaeltus
dark web search engine <a href="https://darknet-marketplaces.shop/ ">tor market </a>
名前
Edgarlow
darkmarket 2023 <a href="https://darknetmarketonion.shop/ ">deep web search </a>
名前
HectorDer
how to access dark web <a href="https://privatedarkmarkets.shop/ ">dark market url </a>
名前
Baaket
drug markets onion <a href="https://darkmarketslist.com/ ">darknet drugs </a>
名前
Brandendet
dark market link <a href="https://tordarkwebmarket.link/ ">dark web access </a>
名前
Charlescob
dark web search engines <a href="https://thedarkwebmarket.shop/ ">free dark web </a>
名前
Hanstulge

コメントを追加

CAPTCHA
この質問はあなたが人間の訪問者であるかどうかをテストし、自動化されたスパム送信を防ぐためのものです。
画像CAPTCHA
画像内に表示されている文字列を入力してください。