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

カテゴリー

コメント

dark market url <a href="https://drugsmarketdarkweb.com/ ">dark market link </a>
名前
DannyJes
dark web link <a href="https://drugmarketsonline.com/ ">darknet market links </a>
名前
Tornaddib
dark web market <a href="https://versus-market-onion.link/ ">darknet drug links </a>
名前
BrandonWaype
darkmarkets <a href="https://darkodemarketdarkweb.link/ ">deep web markets </a>
名前
Milescooca
dark market url <a href="https://world-market-darknet.link/ ">darkmarket </a>
名前
Charleswam
dark web link <a href="https://torsmarket.com/ ">darkweb marketplace </a>
名前
Ronaldevica
dark web market list <a href="https://darknet-markets.store/ ">darknet sites </a>
名前
Michaelloush
darkweb marketplace <a href="https://darkodemarketdarknet.link/ ">darknet drug links </a>
名前
AnthonyRoaro
darknet market links <a href="https://darknet-online.link/ ">darknet market links </a>
名前
Matthewgek
deep web drug markets <a href="https://tormarketlist.com/ ">darkmarket link </a>
名前
DanielWibia
dark web sites links <a href="https://webdrugurl.com/ ">onion market </a>
名前
DamonLat
dark web market links <a href="https://vversusmarket.link/ ">dark web market </a>
名前
Robertfup
best darknet markets <a href="https://canna-home.link/ ">dark web market </a>
名前
Josephanarm
dark web market links <a href="https://drugmarketsweb.com/ ">darknet markets </a>
名前
TimExcer
tor markets links <a href="https://webdruglinks.com/ ">tor darknet </a>
名前
Andrewnorse
dark market list <a href="https://darknetmarket.store/ ">dark web market </a>
名前
Stevejails
dark markets 2022 <a href="https://toremarket.com/ ">tor markets </a>
名前
FrankHuluh
deep web drug store <a href="https://tormarket2022.com/ ">deep web drug markets </a>
名前
RonaldSaf
dark web drug marketplace <a href="https://versusmarketdarknet.link/ ">tor market </a>
名前
Cecilferly
darknet drug store <a href="https://darknetonline.link/ ">darknet drug market </a>
名前
HaroldHot
dark markets 2022 <a href="https://cannahomemarketdarkweb.link/ ">dark market onion </a>
名前
Georgelouse
darknet drug links <a href="https://webdarklink.com/ ">darkweb marketplace </a>
名前
Coreyrah
deep web drug markets <a href="https://asapmarket-online.link/ ">tor dark web </a>
名前
JasonGribe
dark market link <a href="https://asapmarket-onion.link/ ">darknet websites </a>
名前
Michaeltus
deep web drug url <a href="https://darknet-marketplace.link/ ">darkmarket 2022 </a>
名前
Kennethhog
darknet market links <a href="https://torshopurl.com/ ">darkmarket url </a>
名前
Shanewat
darkmarket link <a href="https://darknetdrug.store/ ">dark markets 2022 </a>
名前
MichaelRaf
darknet market list <a href="https://heinekenexpredark.link/ ">tor market url </a>
名前
Charleszopay
darkmarket url <a href="https://toremarketplace.com/ ">darkmarket </a>
名前
RichardExido
[url=https://newfasttadalafil.com/]overnight cialis delivery[/url] Viagra Professional Pfizer Tvghle <a href=https://newfasttadalafil.com/>Cialis</a> Ljvmah Dbtiio https://newfasttadalafil.com/ - cialis from india
名前
Mandstaps
dark web links <a href="https://worldmarketdarknet.link/ ">darknet sites </a>
名前
Randykew
darkmarket <a href="https://worldmarketdarkweb.link/ ">dark web market links </a>
名前
ZacharyBop
darknet marketplace <a href="https://darknetmarketlist.link/ ">darknet markets </a>
名前
PhillipTruff
bitcoin dark web <a href="https://cryptodarkmarket.online/ ">drug markets dark web </a>
名前
RichardDek
deep web drug links <a href="https://darkwebmarketlist.link/ ">deep web drug markets </a>
名前
BrianFew
darknet marketplace <a href="https://drugmarketsonions.com/ ">deep web drug url </a>
名前
Crisscunc
dark websites <a href="https://blackmarketonline.store/ ">tor darknet </a>
名前
Edgarlow
dark market <a href="https://torsmarketplace.com/ ">darkmarket list </a>
名前
CraigAgeni
darknet market list <a href="https://kingdomarketdarknet.link/ ">tor market links </a>
名前
MalcolmMom
darknet market list <a href="https://tor-dark.com/ ">dark market </a>
名前
Ralphzet
deep web drug links <a href="https://mydarknet.store/ ">darknet sites </a>
名前
BernardGed
onion market <a href="https://drugmarketsonion.com/ ">tor markets 2022 </a>
名前
Jancal
dark market onion <a href="https://darkmarketstore.link/ ">darknet market lists </a>
名前
Jameserelp
tor darknet <a href="https://darknet-market.store/ ">dark markets </a>
名前
Jamesclews
darknet websites <a href="https://tormarketlink.com/ ">dark market onion </a>
名前
Wendellpog
drug markets dark web <a href="https://versusmarketdarkweb.link/ ">drug markets dark web </a>
名前
JamesseM
darkmarket list <a href="https://cannahomemarketdarknet.link/ ">darkmarket list </a>
名前
Randytiz
darknet drug store <a href="https://canna-home-darknet.link/ ">tor market links </a>
名前
DeandreAciva
dark markets <a href="https://world-market-darkweb.link/ ">dark market </a>
名前
Dannyquord
dark market link <a href="https://drugsmarketdarkweb.com/ ">tor marketplace </a>
名前
DannyJes

コメントを追加

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