【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 <a href="https://tor-markets-darkweb.com/ ">tor marketplace </a>
名前
Sirket
deep web drug links <a href="https://tor-market-darkweb.shop/ ">tor markets </a>
名前
Danired
dark web links <a href="https://tordarknetmarket2022.link/ ">darknet drug links </a>
名前
Julianacecy
dark markets <a href="https://tordarkmarketurl.link/ ">dark web market list </a>
名前
CraigAgeni
darkweb marketplace <a href="https://tordarknetmarket2022.shop/ ">onion market </a>
名前
Randytiz
darkweb marketplace <a href="https://tordarkwebslist.com/ ">dark web search engine </a>
名前
Michaeltus
dark websites <a href="https://tordarkwebmarket.link/ ">darknet market lists </a>
名前
Charlescob
dark market url <a href="https://torwebdarknet.shop/ ">deep web drug markets </a>
名前
ZacharyBop
tor marketplace <a href="https://cannahome-market.link/ ">dark web search engines </a>
名前
JackieDuart
darkweb marketplace <a href="https://ddarkodemarket.link/ ">darknet marketplace </a>
名前
HaroldHot
free dark web <a href="https://tordarknetmarkets2023.shop/ ">deep web search </a>
名前
Robertfup
dark web links <a href="https://tor-market-darknet.shop/ ">dark web market links </a>
名前
Wendellpog
darknet markets 2023 <a href="https://privatedarkwebmarkets.shop/ ">darknet market links </a>
名前
Crisscunc
dark market link <a href="https://thedarkwebmarkest.shop/ ">tor markets 2023 </a>
名前
SmittMef
darknet markets 2023 <a href="https://thedarknetmarket.com/ ">tor markets links </a>
名前
CorryViarD
dark web access <a href="https://tor-markets2023.shop/ ">best darknet markets </a>
名前
WilliamNaw
dark market 2022 <a href="https://tordarkmarketurl.com/ ">deep web drug url </a>
名前
Ronaldevica
dark web links <a href="https://tordarknetmarketlist.link/ ">dark internet </a>
名前
Josephanarm
deep web search <a href="https://privatedarkwebmarket.com/ ">darkmarkets </a>
名前
WilliamRip
darknet seiten <a href="https://tor-markets-darknet.link/ ">dark market url </a>
名前
Teddred
darknet site <a href="https://tor-marketplace24.link/ ">dark markets 2023 </a>
名前
Danielred
dark web market <a href="https://tordarkwebmarketlinks.com/ ">darknet seiten </a>
名前
DavidDes
tor markets links <a href="https://tordarkwebmarketlink.shop/ ">dark websites </a>
名前
Patrickhuple
black internet <a href="https://thetormarket.link/ ">deep web sites </a>
名前
Ralphzet
darkweb marketplace <a href="https://tor-market-darknet.link/ ">drug markets onion </a>
名前
Granttromo
dark markets <a href="https://thedarknetmarket.shop/ ">darknet marketplace </a>
名前
ADElugh
dark market 2023 <a href="https://thedarkmarketpoint.com/ ">deep web drug links </a>
名前
Tornaddib
the dark internet <a href="https://tordarknetmarkets2023.com/ ">black internet </a>
名前
JamesseM
darkmarket url <a href="https://versusmarkets.link/ ">tor market </a>
名前
Michaelloush
dark web access <a href="https://tor-darkmarket-online.com/ ">darkmarkets </a>
名前
JamesStaiz
free dark web <a href="https://vversusmarkets.link/ ">darknet search engine </a>
名前
BrianFew
dark market url <a href="https://tor-darkmarkets-online.com/ ">darknet links </a>
名前
FrankHuluh
best darknet markets <a href="https://tor-darkmarket-online.link/ ">deep web drug store </a>
名前
CharlesNuh
dark web market list <a href="https://tordarkwebmarkets2022.link/ ">deep web markets </a>
名前
JuliusEsobe
darknet market list <a href="https://versus-markets.link/ ">how to get on dark web </a>
名前
Stevejails
blackweb official website <a href="https://tordarkmarketweb.shop/ ">darknet drug store </a>
名前
Geraldhopay
dark web market <a href="https://tordarknetmarket24.shop/ ">dark web drug marketplace </a>
名前
Georgelouse
dark market 2022 <a href="https://privatedarknetmarkets.shop/ ">dark web site </a>
名前
Davidinodo
darknet marketplace <a href="https://tordarkwebslist.shop/ ">darknet market </a>
名前
DonaldDic
dark web search engines <a href="https://thedarkwebmarkest.link/ ">black internet </a>
名前
Hellyzes
dark web drug marketplace <a href="https://hydra-market.link/ ">dark markets 2022 </a>
名前
Edgarlow
best darknet markets <a href="https://hydra-markets.link/ ">dark web websites </a>
名前
Matthewgek
deep web sites <a href="https://torwebdarknet.com/ ">dark web websites </a>
名前
Randykew
tor darknet <a href="https://tordarkwebmarkets2022.com/ ">darknet drug store </a>
名前
TimmyMeexy
how to access dark web <a href="https://hheinekenexpress.link/ ">tor market links </a>
名前
Brandendet
darknet drug store <a href="https://thedarkwebmarket.link/ ">dark web links </a>
名前
Hanstulge
dark web access <a href="https://tor-markets-darkweb.shop/ ">dark market onion </a>
名前
Davidjoisp
darknet sites <a href="https://kingdom-market.link/ ">tor darknet </a>
名前
RichardDek
dark web market <a href="https://tordarkmarketplace.link/ ">dark web market links </a>
名前
Shanewat
dark web site <a href="https://tordarkmarketweb.link/ ">dark web links </a>
名前
DamonLat

コメントを追加

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