外部リンクテスト

外部リンク

どんな味付けにも染まる
高級お出汁のような WordPress テーマ
https://snow-monkey.2inc.org/

内部リンク

このサイト内のリンク
https://demo.gonsy.net/embed-movie/

電話番号

時報(117)

#ハッシュ

#からはじまるリンクは無視します。

 

以下のJavaScriptを外部ファイル化。wp_enqueue_script +条件 ! is_page( 'jump' ) でサイト内すべての記事やページ(中間ページ以外)に記述するように my-snow-monkey.php に追記。

  1. ページ内の<'a'>がクリックされた際、内部リンクは、そのまま移動する。
    href="tel:"は対象外とする。
  2. 外部サイトの場合、指定したURL(中間ページ=https://demo.gonsy.net/jump/)に移動する。
  3. https://demo.gonsy.net/jump/ には、取得した外部サイトのURLを表示、移動ボタン<'a'>にURLを挿入する。
document.addEventListener('DOMContentLoaded', function() {
    var links = document.getElementsByTagName('a');
    for (var i = 0; i < links.length; i++) {
        links[i].addEventListener('click', function(e) {
            var href = this.getAttribute('href');
            if (!isHashURL(href) && isExternalURL(href) && !isTelURL(href)) {
                e.preventDefault();
                redirectToNextPage(href);
            }
        });
    }
});

function isExternalURL(url) {
    var host = window.location.host;
    return url.indexOf(host) === -1;
}

function isTelURL(url) {
    return url.toLowerCase().startsWith('tel:');
}

function isHashURL(url) {
    return url.startsWith('#');
}

function redirectToNextPage(url) {
    localStorage.setItem('clickedUrl', url);
    window.location.href = 'https://demo.gonsy.net/jump/';
}