It just requires a little adjusting:. The PHP file can call itself. In other words, just create a file named saveAs. These functions are used in stacktrace. That way, the browser dlwnload the click event naturally, which avoids any code weirdness:. This is actually the "chrome" way solution for firefox I am not tested it on other browsers, so please leave comments about the compilability.
Note: This is not just limited to anchor clicks, you can download almost anything you find on your webpage. If something image, audio, video loads on your webpage, you can probably write a script to download it, even if the provision is not provided to you from the UI. You can also use the package fs-browsers. It has nice and easy download method for client-side.
I know I'm late for the party, but I'd like to share my solution which is variation of Imagine Breaker's solution above. I tried to use his solution, because his solution seems most simple and easy to me. But like other said, it didn't work for some browsers, so I put some variation on it by using jquery. Stack Overflow for Teams — Collaborate and share downoad with a private group.
Dwnload a free Team What is Teams? Collectives on Stack Overflow. Learn more.
Asked 11 years, 1 month ago. Active 9 days ago. Viewed 1. How is this possible? Improve this question. Mithun Sreedharan Mithun Sreedharan I tried many answers in related questions, and this is the definitive answer. Setting window. Also window content does NOT change. I assume you used the wrong contentType? Add a comment. Active Oldest Votes. Improve this answer. Saran 3, 3 3 gold badges 34 34 silver badges 54 54 bronze badges.
A webpage cannot open a new tab automatically. Nicely done! Solves the problem well. However, you may want to use: iframe. Your current implementation will make the iframe invisible, but the iframe will still take up space at bottom of the page causing extra white space. It "semi" works for me. This is part of a larger mobile web app, and the fact that it gets canceled breaks the app because it raises a general web failure. Any way around this?
I could add that to the answer for a "fire and forget" option. Also the [download] attribute doesn't allow for a POST or anything exotic either. Your modern example is not quite right. It will "download" whatever the server returns. For ex, if download have an authentication error, it will return the login page or whatever the server returns and not the "downloaded file" itself.
Imagine Breaker Imagine Breaker 1, 1 1 gold badge 10 10 silver badges 8 8 bronze badges. For me this would be perfect but it doesn't not work on Firefox neither. Any idea? As file in caniuse. So if your links points to another domain, it hardly works anywhere for now. For it to work on Firefox, do document. You can also do link. Show 3 more comments. Tomer 1, 13 13 silver badges 14 14 bronze badges. Chrome downloads, but Firefox just shows the picture.
Saved me the time to test it only to find out it won't work. Latest Chrome Aug shows picture too because of an absurd security restriction so fail — user Chrome doesn't download for mp4 s — Nearoo.
Show 2 more comments. Mark Amery k javascri;t 61 gold badges silver badges bronze badges. Laura Chesches Laura Chesches 2, 17 17 silver badges 15 15 bronze badges. Also the Edge 13 implementations is buggy because the name of the file is ignored and instead you get a file with an id as the name.
In my opinion, this is the correct answer to the question. The other answers make sense if you have to support older browsers and need a workaround. I dont' think is needed. It's already setting the 'src:url' in the creation step. I had to used "window. Maybe because I wanted to download 12 things at the same time?
As you can see above, the download attribute is the easiest way dowlnoad download a file on the browser. However, javascfipt download downlowd only works in modern browsers. Internet Explorer does not support it. The idea is to programmatically create an anchor link, and then trigger the click event. This method is especially helpful for dynamically generated file URLs.