ブラウザバックでページに遷移してきたかを判定したいことがあります。
その時に使う関数を紹介します。
関数はこちら
さっそくですが、関数はこれです。
export const isFromBrowserBack = () => {
const entries = window.performance.getEntriesByType('navigation');
return entries[0].type === 'back_forward';
};
簡単に解説すると、window.performance.getEntriesByType(‘navigation’);で過去のリダイレクトなどのナビゲーションに関する動作を取得し、その1つ目の中のtypeがブラウザバックを示すback_forwardかどうかを判定しています。
returnのところは
return entries.some((entry) => entry.type === 'back_forward');
のようにsomeを使えば、過去にさかのぼることもできます。