navigator.sendBeacon()でAuthorizationヘッダーを追加したい
解決したいこと
Javascriptをコンテンツスクリプトとして拡張機能に組み込んで、特定のページを閉じた時にデータを送信するようにしたいのですが、navigator.sendBeacon()を使ってサーバーにPOSTする時にAuthorizationヘッダーを追加したいです。
発生している問題・エラー
navigator.sendBeacon()でContent-type以外のヘッダーを変更できない
該当コード
window.onbeforeunload = function() {
navigator.sendBeacon("http://localhost:5000/video", JSON.stringify({"status": "closed"})); //このリクエストにAuthorizationヘッダーを追加したい
};
自分で試したこと
XMLHttpRequestや$.post(jQuery)や$.ajax(jQuery)を試しましたが、どれも送信完了する前にページが閉じてキャンセルされてしまいます。
また、Blobを使い変更しようとしましたが、Blobはtype(Content-type)しか指定できなかったので失敗しました。
参考
使用ブラウザはGoogle Chrome 107.0.5304.87、APIはFlaskです。
0 likes