ホームページ作成/リンクの表示・装飾 (HTML,CSS,JavaScript)

PDFへのリンクに便利。リンク移動前に確認させる方法(2ページ目)

特定のリンクをクリックして移動する前に、移動して良いかどうか確認ダイアログを表示させてみましょう。HTMLファイルへのリンクだと勘違いして、PDFやDOCへのリンクをクリックしてしまうことを防ぐのに良いかも。

西村 文宏

執筆者:西村 文宏

ホームページ作成ガイド

実現の仕組み

リンク先への移動前に確認ダイアログを表示させるためには、次の3つの処理が必要です。

  1. 確認ダイアログを表示
  2. OKがクリックされたらリンク先へ移動
  3. キャンセルがクリックされたら移動を抑止

これらの仕組みをHTMLだけで用意するのは無理ですので、JavaScriptを活用します。難しく感じるかも知れませんが、全然そんなことはありません。実現はかなり簡単です。

※解説を読むのが面倒で、とにかく使ってみたい方は、最終ページだけを読んで頂いても問題ありません。コピー&ペーストで実現できますから。(リンク先URLと表示メッセージは書き換える必要がありますが。)

STEP.1 確認ダイアログを表示する

「OK」と「キャンセル」の2つのボタンがあるダイアログをJavaScriptで表示するには、「 confirm 」という関数を使います。

confirm('リンク先はPDFです。移動しますか?');

これで、「リンク先はPDFです。移動しますか?」と表示され、「OK」ボタンと「キャンセル」ボタンのあるダイアログを作れます。

リンクがクリックされたときに表示させたいのですから、リンクを作る a要素内の、onClick属性にこのコードを記述します。例えば、下記のように記述します。

<a href="xxx" onClick="confirm('リンク先は...');">

このソースを表示すると、「クリックすると確認ダイアログが表示されるリンク」が出来上がります。(下記)
※注意:下記のリンクは、クリックするとOKを押してもキャンセルを押しても、ダミーページに移動します。(理由は後述) クリックしたら、「戻る」ボタンで戻ってきて下さい。

サンプルリンク

これでは不十分ですね。
上記のままでは、「OK」をクリックした場合はもちろん「キャンセル」をクリックしてもリンク先へ移動してしまいます。 これは当然ですね。どちらのボタンがクリックされたのかを、まだ何も判別していないのですから。

※どちらのボタンを押してもリンク先へ移動するのは、a要素の href属性にリンク先を記述してあるからです。 実は、「JavaScriptで表示したダイアログ」と「リンク先へ移動する」という動作には、まったく関係がありません。 どちらをクリックしても移動するのは、そのためです。(この点について次のページで説明しています。)
※JavaScriptでどう記述しようがリンク先へ移動するということは、つまり、JavaScriptが無効になっている場合でもリンク先へ移動できるということになります。

STEP.2 OKかキャンセルか判別する

そこで、次のステップ、「クリックされたボタンの判別」が必要になります。

それでは、次のページへ →

  • 前のページへ
  • 1
  • 2
  • 3
  • 5
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます