リンクに download 属性が付与されており、クリックするとファイル名がURLのパスから決定され、自動的にダウンロードが開始されます。ブラウザのファイル保存ダイアログは表示されません。
download
ファイルの内容がリンク自体に埋め込まれています(Data URI形式)。サーバー上にファイルが存在しなくても、リンクをクリックするだけでダウンロードされます。
ボタンをクリックすると、JavaScriptで Blob オブジェクトを生成し、URL.createObjectURL() を使用してダウンロードリンクを動的に作成します。ブラウザの設定によっては保存ダイアログが表示されます。
URL.createObjectURL()
Canvas要素に描画された内容をPNG画像としてダウンロードします。ブラウザ上で動的に生成された画像をファイルとして保存する方式です。
テキストエリアに入力した内容を、指定したファイル名でダウンロードします。ユーザーが作成したコンテンツをファイルとして保存する方式です。