新規にタブを開いて画面を表示する際に、ブラウザが開かれていなければそのタブを閉じる実装を実現したいです。
windowClose = function () { document.addEventListener("visibilitychange", function() { if (document.visibilityState === 'hidden') { window.close(); } else { return false; } }); }; $(window).on("load", function() { windowClose(); });
上記の実装で画面の非表示を検知してタブを閉じることはできるのですが、windowCloseがいつでも呼び出されてしまい「画面表示時のみ」という部分を実現できません。つまり、画面表示時にブラウザに滞在していれば以降はそのまま表示し続けて問題なく、画面表示された際に1度だけ処理が実行されるような実装がゴールです。
有効な実装方法があれば教えていただきたいです。