javascript - opening hidden iframe for file download on document ready

前端 未结 1 1620

I’m trying to use this trick to open a file download dialog on document ready. The same trick has worked another time for me, but that time the iframe was added after an aja

相关标签:
1条回答
  • 2021-01-16 13:25

    It works just fine, assuming that the MIME is of a type that will start a download, for example application/octet-stream. You may be encountering an issue where the browser is rendering it and not offering a download due to an in-built pdf reader.

    $(document).ready(function(){
    var url='data:application/octet-stream,hello%20world';
    var _iframe_dl = $('<iframe />')
           .attr('src', url)
           .hide()
           .appendTo('body');
    });
    

    An alternate solution, if the client is on a modern browser, is to use an <a> with href and download set, then simulate a click on it.

    var a = document.createElement('a'),
        ev = document.createEvent("MouseEvents");
    a.href = url;
    a.download = url.slice(url.lastIndexOf('/')+1);
    ev.initMouseEvent("click", true, false, self, 0, 0, 0, 0, 0,
                      false, false, false, false, 0, null);
    a.dispatchEvent(ev);
    
    0 讨论(0)
提交回复
热议问题