【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>

カテゴリー

コメント

darknet markets 2023 <a href="https://tordarkwebmarket.link/ ">tor markets 2023 </a>
名前
Charlescob
darkmarket <a href="https://tordarkwebmarketlinks.link/ ">darkmarkets </a>
名前
DavidDes
how to access dark web <a href="https://tor-market-darknet.shop/ ">deep web drug store </a>
名前
Wendellpog
dark web search engine <a href="https://tor-market-darkweb.shop/ ">tor dark web </a>
名前
Danired
darknet seiten <a href="https://tordarknetmarketlist.link/ ">dark web market links </a>
名前
Josephanarm
onion market <a href="https://thedarkwebmarket.com/ ">darknet seiten </a>
名前
SmittMef
tor market <a href="https://tordarkmarketplace.link/ ">drug markets onion </a>
名前
Shanewat
how to access dark web <a href="https://tor-markets-darkweb.link/ ">dark web links </a>
名前
Davidjoisp
darknet seiten <a href="https://thetormarket.shop/ ">tor markets </a>
名前
JamesStaiz
tor marketplace <a href="https://tordarkwebmarketlink.link/ ">tor markets </a>
名前
Patrickhuple
dark web site <a href="https://tordarknetmarkets2023.shop/ ">deep web drug store </a>
名前
Robertfup
tor market links <a href="https://thedarkmarketpoint.com/ ">dark markets 2023 </a>
名前
Tornaddib
dark market <a href="https://cannahomemarket.shop/ ">drug markets dark web </a>
名前
RichardDek
how to get on dark web <a href="https://tordarkwebmarkets2022.link/ ">deep web search </a>
名前
JuliusEsobe
darkmarket 2022 <a href="https://darknet-marketplaces.link/ ">darknet search engine </a>
名前
BrianFew
darknet sites <a href="https://tor-market-darknet.link/ ">dark web market </a>
名前
Granttromo
darknet seiten <a href="https://tordarkmarketurl.link/ ">tor market links </a>
名前
CraigAgeni
darknet drug store <a href="https://tor-markets-darknet.shop/ ">deep web search </a>
名前
Sirket
tor market links <a href="https://blackmarketww.com/ ">dark market url </a>
名前
RobertKix
dark web search engine <a href="https://tor-darkmarket-online.shop/ ">darkweb marketplace </a>
名前
CharlesNuh
dark web site <a href="https://tordarkwebslist.shop/ ">dark web drug marketplace </a>
名前
DonaldDic
drug markets dark web <a href="https://asap-onion.shop/ ">deep web markets </a>
名前
Edgarlow
darkmarket 2023 <a href="https://tordarknetmarket24.link/ ">tor darknet </a>
名前
Georgelouse
tor markets links <a href="https://dark-markets-btc.com/ ">darkmarket 2023 </a>
名前
HectorDer
dark web market <a href="https://tordarkwebmarketlinks.shop/ ">deep web markets </a>
名前
TimmyMeexy
the dark internet <a href="https://thetormarket.link/ ">deep web sites </a>
名前
Ralphzet
tor market url <a href="https://kkingdomarket.link/ ">dark web site </a>
名前
Matthewgek
deep web drug store <a href="https://thedarkwebmarkest.link/ ">darknet drug market </a>
名前
Hellyzes
tor market url <a href="https://thedarknetmarket.shop/ ">dark web market links </a>
名前
ADElugh
darkmarket link <a href="https://heinekenexpress.link/ ">dark web market links </a>
名前
Stevejails
darknet marketplace <a href="https://tordarkmarketurl.com/ ">drug markets dark web </a>
名前
Ronaldevica
darknet links <a href="https://tordarknetmarketlist.shop/ ">dark web drug marketplace </a>
名前
JamesseM
how to get on dark web <a href="https://privatedarkwebmarkets.com/ ">dark web search engines </a>
名前
Jancal
dark markets 2023 <a href="https://tordarknetmarket2022.com/ ">dark markets </a>
名前
Geraldhopay
darknet sites <a href="https://tormarketwebxx.shop/ ">darkmarket 2022 </a>
名前
JasonGribe
darknet drugs <a href="https://tor-markets2023.shop/ ">dark web site </a>
名前
WilliamNaw
dark markets 2022 <a href="https://torwebdarknet.shop/ ">darknet links </a>
名前
ZacharyBop
bitcoin dark web <a href="https://tor-markets-darknet.com/ ">drug markets dark web </a>
名前
FrankHuluh
darknet market links <a href="https://privatedarknetmarkets.shop/ ">tor darknet </a>
名前
Davidinodo
dark web access <a href="https://tordarkmarketweb.com/ ">tor market links </a>
名前
DamonLat
bitcoin dark web <a href="https://tordarkwebmarketlink.com/ ">darknet market lists </a>
名前
Richardvak
darknet market <a href="https://privatedarkwebmarkets.link/ ">darknet market lists </a>
名前
Crisscunc
dark market onion <a href="https://alldarknetmarkets.shop/ ">darkmarket url </a>
名前
Brandendet
dark market <a href="https://tordarkwebslist.link/ ">darknet drug store </a>
名前
Michaeltus
deep web links <a href="https://tor-marketplace24.link/ ">darknet markets 2023 </a>
名前
Danielred
dark web markets <a href="https://torwebmarketplace.shop/ ">deep web drug markets </a>
名前
Dannyquord
darknet search engine <a href="https://torwebdarknet.link/ ">tor market url </a>
名前
Randykew
dark market 2023 <a href="https://thedarknetmarket.com/ ">dark web markets </a>
名前
CorryViarD
darknet market lists <a href="https://tor-darkmarkets-online.shop/ ">darknet websites </a>
名前
JamesHub
best darknet markets <a href="https://cannahome-market.shop/ ">dark market 2023 </a>
名前
JackieDuart

コメントを追加

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