JavaScriptで戻るボタンのイベントハンドラを実装する方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaScriptで戻るボタンのイベントハンドラを実装する方法について現役エンジニアが解説しています。戻るボタンが押下されと事を検知するイベントハンドラが無いためWindowオブジェクトにaddEventListenerメソッドを使い、popstateイベント種類を指定します。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

JavaScriptで戻るボタンのイベントハンドラを実装する方法について解説します。実際のコードをもとに解説していきますので、理解を深めていきましょう。

また、入門向けのJavaSriptを学習できるサイトも紹介しているので、合わせてご覧ください。

 

そもそもJavaScriptについてよく分からないという方は、JavaScriptとは何なのかについて解説した記事を読むとさらに理解が深まります。

なお本記事は、TechAcademyのオンラインブートキャンプJavaScript/jQuery講座の内容をもとにしています。

 

 

田島悠介

今回は、JavaScriptに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

JavaScriptで戻るボタンのイベントハンドラを実装する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

ブラウザの戻るボタンとは

ブラウザの戻るボタンは、皆さんもご利用になったことがあるとおもいますが、気軽に前ページに戻ることが出来る大変便利な機能です。

では、戻るボタンを押した時に具体的にどの様な事が行われているかはご存知でしょうか?

ページ(URL)を移動する場合、通所はサーバにリクエストをして新しいページをレスポンスとして受け取ります。しかしながら、戻るボタンを押した場合は通常の動きと違い、ブラウザがキャッシュしているページを呼び出し表示させます。

其の為、サーバーを介さず素早くページを表示をさせるとことが出来るのです。

戻るボタンのイベントハンドラを実装する方法

残念ながら、JavaScriptで直接戻るボタンが押下されと事を検知するイベントハンドラは有りません。そこで、利用するのがaddEventListener()です。

これは様々なイベントを処理することができる関数で戻るボタンを押下されたことを検知するには’popstate’のイベント種類を指定します。’popstate’は、履歴が更新された時にイベントを検知します。

[PR] JavaScript・jQueryで挫折しない学習方法を動画で公開中

実際に書いてみよう

それでは実際にaddEventListener()を使用して、戻るボタンのイベントハンドラを実装してみましょう。

形式

window.addEventListener( イベントハンドラ, 関数, イベント伝達)

 

  • イベントハンドラには、先ほど説明した’popstate’
  • 関数は取りあえず今回は、’function(e)’
  • イベント伝達は、false※若しくは省略

 

実装

<html>
<head>
<title>JavaScriptで戻るボタンのイベントハンドラを実装する方法</title>
</head>
<body>
戻るボタンを押すと、メッセージが表示されます<br>
<script type="text/javascript">
window.addEventListener('popstate', function(e) {
alert('ブラウザバックを検知しました。');
});
</script>
</body>
</html>

これで、戻るボタンのイベントハンドラの代替え処理を実装できます。

 

筆者プロフィール

小宮山晃史(こみやまこうじ)

現在はOracle系システムの導入コンサルに勤め、仕事でコーディングをする機会は少なくなくなっているが、ライフワークで数多くの言語を勉強中。

iphoneのアプリ開発やWEBサーバの構築など幅広く挑戦しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間でJavaScript・jQueryを使ったWebサービス公開を習得できるオンラインブートキャンプJavaScript/jQuery講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。