Sinatra でブログ アプリを書いています。今、私は2つのページを持っています:
- すべての投稿を一覧表示するための「/」
- 新しい投稿を書くための「/write」
入力 'textarea' と'/write'に送信ボタンがあります。
投稿を書いて送信ボタンをクリックした後、以下のコードを使用してページ「/」にリダイレクトします。
post '/write' do
# some codes for storing the new post
redirect '/', 303
end
これが私の問題です:
「/write」で、「 textarea 」に通常のテキストを書き込んで送信すると、すべて正常に動作します。
しかし、'textarea' に JavaScript を書いて送信すると、Chrome/Safari はページ'/'にリダイレクトせず、空白の 'about:blank' ページを残します。
Chrome 開発者ツールを使用してネットワーク リクエストを追跡しましたが、リクエストが発生していないことがわかりました。しかし、Firefox を使用してアプリにアクセスすると、すべて正常に動作します。また、firebug は 2 つのリクエストが発生したことを示しています。「/write」での POST(303) と「 / 」でのGET(200)です。
私のアプリに何か問題があるのか 、それともブラウザが「/」ページをロードするのを止めたWebkitのアンチXSS戦略があるのか わかりませんか?(このページには、いくつかの JS コードである、新しく送信された投稿が表示されます。これらの JS コードが「about:blank」の問題を引き起こしていると思います)。
ヒントをいただければ幸いです。下手な英語で申し訳ありません。