概要
ブラウザの更新ボタン、戻るボタン、閉じる(×)ボタンをトリガーにそれぞれ処理を実行したい
更新ボタン
捕捉可能なイベント
- beforeunload
- unload
javascript
window.addEventListener('beforeunload', (event) => { // 処理を書く })
注意点
beforeunload、unloadはあくまでページのアンロード時に発火するイベント。ブラウザのどのボタン(更新なのか閉じるなのか)を押して発火したかまではわからない
戻るボタン
捕捉可能なイベント
- popstate
javascript
window.addEventListener('popstate', (event) => { // 処理を書く })
注意点
chromeではセキュリティの観点から、popstateイベントは発火しないようになっている。正確にはユーザが能動的にアクション(ボタン操作など)を起こすと発火する。javascriptでclickイベントを発火させてもpopstateは発火しない
閉じるボタン
更新ボタンと同じ内容であるため割愛
まとめ
更新ボタン、閉じるボタンを捕捉できるイベントは同一であるためどちらが押されたか判別はできない。戻るボタンはユーザがクリックなど何らかの操作をすればイベントが発火する。
傾向として最新の各ブラウザではブラウザ操作の悪用を防ぐためにクライアント側から制御できないようになりつつある
0 件のコメント:
コメントを投稿