MENU

JavaScript (jQuery) で特定のドメインのURLにパラメーターを付与する

2019 6/03
JavaScript を使って自サイトのドメインや「/ (スラッシュ)」から始まる相対パスの最後にパラメーターを付与する方法について、実装時に調べたことや方法などをまとめます。 今回は WordPress のテーマに実装し jQuery が組み込まれているので、jQuery を利用している前提で進めています。そのため jQuery(function ($) { 処理 } といった書き方をしています。
jQuery(function ($) {
  $(function () {
    // anchorsにaタグを配列ですべて格納
    const anchors = document.getElementsByTagName("a");
    // 条件判定用のURLを取得
    const matchStr = document.domain;

    for (let i = 0; i < anchors.length; i++) {
      // アンカータグを変数に格納
      const linkElement = anchors[i];
      // hrefの中身を変数にとりだす
      let linkUri = linkElement.getAttribute('href');
      // 空じゃなければ次へ
      if (linkUri) {
        // 条件判定用のURLを含んでる、もしくはスラッシュで始まっていれば
        if (linkUri.match(matchStr) || linkUri.startsWith('/')) {
          // 末尾にスラッシュがあれば削除
          linkUri = linkUri.replace(/\/$/, '');
          // パラメータを付与して配列に戻す
          anchors[i].href = linkUri + "?from_app=true";
        }
      }
    }
  });
});
WordPress のテーマに実装する場合はこのままペタッとはればok。
目次

参考記事

cly7796.net
URLを取得したり書き換えたりする
URLを取得したり書き換えたりするURLを取得したり、書き換えたりするサンプルです。 サンプルコード(URLを取得) JavaScript HTML 現在...
URLを変えたりパラメータ・ハッシュを追加する方法
Stack Overflow
How can I add or update a query string parameter?
How can I add or update a query string parameter?With javascript how can I add a query string parameter to the url if not present or if it present, update the current value? I am using jquery for my client sid...
JavaScriptを使ってパラメーターを付与について
Stack Overflow
How to create conditional hyperlink in HTML
How to create conditional hyperlink in HTMLI want to link my page with another page on condition. Suppose I have 3 HTML pages, namely 1.html, 2.html and 3.html. What I want is that if 1.html is loaded ...
条件付きでリンクの作り方について
Tips Note by TAM
JavaScriptでURLのパラメータやアンカーを判断して処理を変更する方法 | Tips Note by TAM
JavaScriptでURLのパラメータやアンカーを判断して処理を変更する方法 | Tips Note by TAMTAM のテクニカルチームがお届けする WEB技術ブログ!
JSのパラメーターやハッシュの取り回しについて詳しく書いてある

この記事を書いた人

aniuma はデジタルパブリッシングのお手伝いをおこないます。 WordPress のエキスパートがシステムの企画・開発・保守をお手伝いします。

コメント

コメントする

目次
閉じる