1

Facebook キャンバスで実行される Rails アプリには、ログインしたユーザーがドキュメントを作成してダウンロードできるワークフローがあります。

ファイルの準備ができたら、そのファイルへのリンクを表示します。これは、dev で send_file を使用してレンダリングするか、本番環境で head (適切な NGINX 構成を使用) を使用してレンダリングする単なる Rails アクションです。この部分は正常に動作します。

新しいブラウザー タブを開かずにファイルのダウンロードを開始するために、リンクのターゲットを空の iframe にしました。

これは機能していましたが、しばらく前に、おそらく Facebook によるセキュリティの変更が原因で、リンクが機能しなくなりました。JavaScript エラーは次のように表示されます。

X-Frame-Options で表示が禁止されているため、ドキュメントの表示を拒否しました。

ユーザーは引き続き新しいタブでリンクを開くことができ、ファイルがダウンロードされます。簡単な修正は、リンクで新しいブラウザー タブを開くことですが、ユーザー エクスペリエンスはそれほど良くありません。

ヘッダーの X-Frame-Options を変更したり、メタ タグを使用したりしようとしましたが、これはキャンバス (iframe で実行) であるため、これらのビューが表示されなくなりました。

このフォームソリューションも試しましたが、何もしませんでした(間違っていた可能性があります)。

新しいブラウザー タブを開かずにファイルのダウンロードを開始するボタンまたはリンクを作成する方法はありますか?

4

1 に答える 1

1

目標を設定する必要はありますか?ターゲットが設定されていないと、ブラウザでファイル ダウンロードのポップアップが表示されず、現在のブラウザ ウィンドウ/タブは同じコンテンツのままになりますか?

于 2011-11-23T10:26:36.493 に答える