1

ページに一連のリソースをレンダリングするサービスを開発しています。リソース - データベース内のレコードで、「url」フィールドと「visited」フィールドがあります。

ユーザーがリソース URL をクリックすると、ajax PUT リクエストを送信することにより、データベースで「visited: true」とマークされます。ユーザーが新しいタブでURLを開くことを決定するまで、うまく機能します。特定の URL のコンテキスト メニューを開いて [新しいタブで開く] を選択すると、JavaScript はこのイベントをキャッチせず、データベースのレコードは更新されません。

この質問Javascript Event for "Open in new Tab" では、"click" ハンドラーを "onmousedown" に変更するようアドバイスされています。しかし、このハンドラーは、何も選択せずにコンテキストメニューを閉じても、開いているだけをキャッチします。

「新しいタブで開く」イベントを処理する標準的な方法はありますか?

ありがとう!

4

1 に答える 1

3

リソース URL が最初にサイトにリダイレクトされるようにします ( yoursite.com/record_click?to=actual.url)。ユーザーが URL をクリックすると、方法に関係なく、URL の開始を追跡できます。AJAX 要求はもはや必要ないかもしれません。

于 2013-03-25T10:11:48.233 に答える