サイトがダウンロードを非常に複雑にし、古き良きリンクの代わりにハックを使用するのは嫌いです。
非常にシンプルなバージョン:
<a href="file.zip">Start automatic download!</a>
できます!すべてのブラウザで!
通常はインラインで表示されるファイル (画像など) をダウンロードする場合、HTML5download
にはファイルのダウンロードを強制する属性があります。また、ファイル名をオーバーライドすることもできます (ただし、より良い方法があります)。
<a href="report-generator.php" download="result.xls">Download</a>
「ありがとう」ページのあるバージョン:
ダウンロード後に「ありがとう」を表示したい場合は、次を使用します。
<a href="file.zip"
onclick="if (event.button==0)
setTimeout(function(){document.body.innerHTML='thanks!'},500)">
Start automatic download!
</a>
その機能はsetTimeout
より高度で、たとえば AJAX 経由でページ全体をダウンロードできます (ただし、ページから移動しないでください —window.location
他のリンクに触れたり、アクティブにしたりしないでください)。
要点は、ダウンロードへのリンクが本物であり、コピー、ドラッグ、ダウンロードアクセラレータによる傍受が可能であり、:visited
色を取得し、ブラウザの再起動後にページを開いたままにしておくと再ダウンロードしないなどです.
それが私がImageOptimに使用するものです