データのバックアップ ファイルをダウンロードできる Google Chrome 拡張機能を作成しています。ユーザーがボタンを押すと、[名前を付けて保存] ダイアログ ボックスが開き、ファイルを自分のコンピューターに保存できるようにしたいと考えています。何も機能していないようで、インターネットで答えが見つかりません。私はいくつかのアプローチを試しました:
document.execCommand('SaveAs', null, 'filename.json');
このコマンドは IE 専用であり、Webkit の代替手段がないように見えるため、Thisを使用しても機能しません。- データ URIの使用。これは最も有望で、Opera と Firefox で機能しましたが、問題は、Chrome も Safari も URI の Content-disposition=attachment;-header をサポートしていないように見えることです。これはうまくいくはずです。
ctrl/cmd+s
(Chrome では、データ URI からページにアクセスすることさえできません) - を使用し
XMLHTTPRequest
ます。私はこれを試したことはありませんが、リクエストを中継できる方法が必要ですか? 外部サーバーを使用したくないことに注意してください (その場合、単純に POST 要求を送信して Content-disposition:-header を適用することもできます)。 - 利用可能な Chrome 拡張 API を使用する。しかし、この目的のためのものはないようです。
外部サーバーを使用したくない理由は、ホスティングに料金を支払う必要がなく、送信されるデータがユーザーにとって機密である可能性があり、誰のプライバシーも侵害したくないからです。
誰かがこれを機能させましたか?