ユーザーの行動を記録して外部のサイトに送りたい。 アクション毎にリクエスト送ると無駄だから離脱時に一括して送りたい。 そういう時はbeforeunloadイベントを使えばいい。Mobile Safariでは動かないので代わりにpagehideイベントを使う。
主要モバイルブラウザ遷移時のイベントの種類と挙動 - Qiita
ただ、非同期でデータを外部に送ると送信を待たずに終わってしまうので同期リクエストにする必要がある。
しかし、今作っているのは色んなサイトに埋め込んでもらうJSプログラム。
それ入れると離脱時に待たされるとか言語道断なのでこういう方法は自サイトじゃないと使え無さそう。
はじめまして。突然のコメント失礼します。
離脱時にアラートをしたいのですが、Safariだと上手く行かずkomagataさんの記事にたどり着きました。
具体的には、Safariのブラウザバックを検知したいのですが、以下のコードだと動きませんでした。
window.addEventListener("pagehide", function(e) {
alert("hogehoge");
}, false);
pagehideイベントの知見がございましたら、教えていただけないでしょうか。
お忙しいところ恐縮ですが、宜しくお願い致します。