確認ポップアップをJavaScriptで表示する方法

Android
rawpixel / Pixabay

アプリケーションを作成していて、外部ページに飛ぶことを明記しないとGoogleの規約に引っかかってしまうとの理由でアプリがリジェクトされていました。

■違反扱いされる原因となった規約
アプリのユーザー インターフェースを装う広告の表示

どうやらアプリのコンテンツ内に遷移するリンクは普通でいいけれど、外部のページやGooglePlayなどに飛ぶようなリンクはちゃんとアプリコンテンツとして見えないようにしなさいよってことらしいす。

なので対応として、リンクをクリックした際に、JavaScript(jQuery)で外部ページに飛ぶことをポップアップ表示するすということをやったので、今回はそれのやり方をメモ。

パターン1

直接aタグの中にjavascriptを書く

<a href="test.html" onClick="return confirm('ページ遷移しますよろしいですか?')">リンク名</a>

一個だけならこのやり方が良い。
ちなみにwindow.confirmでもconfirmでも動くので、お好みの方を。

パターン2

scriptに書く

<script type="text/javascript">
  $(function(){
    $("a").click(function(){
      return confirm("画面を遷移します。よろしいですか?");
    });
  });
</script>

確認ポップを複数出したいときのパターン。
jQueryのセレクタをclassとかで指定すると予想外のものまで確認ポップが出ないで済む。

パターン3

aタグの特定のリンクのときにのみconfirmを表示する

<script type="text/javascript">
  $(function(){
    $("a").click(function(){
      if ($(this).attr("href"). match("/なんか適当な正規表現/")) {
        return confirm("外部のページに遷移します。よろしいですか?");
      }
    });
  });
</script>

リンクの内容によって確認ポップを出したり出さなかったりする方法。
個人的には一番しっくり来るやり方

最後に

とまぁ私が思いつくのはこんな感じですねぇ。

aタグにクラスをつけていくのも手ですが、リンクが間違っていないのであればhrefを見るやり方でも良いかもです。

他にももっといいやり方があったらぜひ。

コメント

タイトルとURLをコピーしました