ブックマークレットを使用して iframe を別の Web サイトに挿入し、ページ上のフォームが送信されたときにサーバーにデータを送信しようとしています。残念ながら、ブラウザがナビゲーションの一部としてすべての接続をドロップする前に、iframe 内の AJAX リクエストが常に完了するとは限りません。onsubmit 中にサーバーにデータを確実に送り返すにはどうすればよいですか?
私が試みた:
- onbeforeunload - フォームの onsubmit イベントの後に起動しない
- onbeforeunload は、アクティブな間、バックグラウンドの JavaScript イベントを防止するようです
- AJAX リクエストを同期化する - おそらくアンロード中にリクエストが開始されるため、役に立ちませんでした
- onunload - リクエスト後に起動しますが、AJAX のナビゲーションを遅くする権限はないようです
私はしようとすることを心配しています:
- 送信時に JavaScript が実行される可能性があるため、フォームの送信を中断します。
- 未知のリスクとスケジュール超過の可能性があるため、ブラウザー拡張機能を作成する
- 親からのリクエストを直接実行する - リクエストは JQuery の上で実行される社内ライブラリの一部であり、それをハッキングすることは脆弱です
すべての場合において、私が対象としているブラウザは Google Chrome (最新リリース) です。