ページに一連のリソースをレンダリングするサービスを開発しています。リソース - データベース内のレコードで、「url」フィールドと「visited」フィールドがあります。
ユーザーがリソース URL をクリックすると、ajax PUT リクエストを送信することにより、データベースで「visited: true」とマークされます。ユーザーが新しいタブでURLを開くことを決定するまで、うまく機能します。特定の URL のコンテキスト メニューを開いて [新しいタブで開く] を選択すると、JavaScript はこのイベントをキャッチせず、データベースのレコードは更新されません。
この質問Javascript Event for "Open in new Tab" では、"click" ハンドラーを "onmousedown" に変更するようアドバイスされています。しかし、このハンドラーは、何も選択せずにコンテキストメニューを閉じても、開いているだけをキャッチします。
「新しいタブで開く」イベントを処理する標準的な方法はありますか?
ありがとう!