PageSourceSearch

https://paypay.ne.jp/wp-content/themes/paypay/assets/common/js/merchant_param_module_01.js

js paypay.ne.jp collected 2026-09-24 08:25:34 UTC 6,190 bytes, 122 lines download raw bytes

1// merchant_param_module_01.js
2function takeOverParameter($targets) {
3
4  var param = location.search;
5  if (!param) return;
6  $targets.each(function (i, target) {
7    var $target = $(target); // ターゲット
8    var replaceParam = param.split("?").join("&"); // パラメータ付け替え
9    var $targetURL = $target.attr("href").substring(0,$target.attr("href").indexOf("?")); // リンク先パラメーター検知
10    var hashLinkTag = $target.attr("href").substring($target.attr("href").indexOf("#")); // ハッシュタグ取得
11    var hashHref = $target.attr("href").substring(0, $target.attr("href").indexOf("#")); // リンク先URLのみ取得
12
13      //メールアドレスか電話番号が入っていた場合
14      if($target.attr("href").match(/mailto:/) || $target.attr("href").match(/tel:/)){
15        $target.attr("href", $target.attr("href"));
16      } else if($target.attr("href").match(/dashboard.paypay.ne.jp/) && $target.attr("href").indexOf("#") !== -1) {
17      // リンクがppfbの場合
18        var $dashboardURL = $target.attr("href").substring(0,$target.attr("href").indexOf("#"));
19        var $dashboardHash = $target.attr("href").substring($target.attr("href").indexOf("#"),$target.attr("href").length);
20
21        if($target.attr("href").indexOf("?") !== -1) {
22        // パラメータもついてる時
23          if(param.match(/utm/)) {
24            // URLにutmがついている場合上書き
25            $target.attr("href", $targetURL + param + $dashboardHash);
26          } else {
27            // それ以外引き継ぎ
28            $target.attr("href", $dashboardURL + replaceParam + $dashboardHash);
29          }
30        } else {
31          // パラメータがない場合引き継ぎ
32          $target.attr("href", $dashboardURL + param + $dashboardHash);
33        }
34      } else if($target.attr("href").match(/merchant.paypay.ne.jp/) && $target.attr("href").indexOf("?") !== -1) {
35      // リンクがmerchant.paypayでパラメータがある場合
36        if(param.match(/utm/) && $target.attr("href").match(/utm/) && !$target.attr("href").match(/Inquiry_Number=/)) {
37          // URLとパラメータにutmがついている場合上書き
38          $target.attr("href",$targetURL + param);
39        } else if(param.match(/utm/) && $target.attr("href").match(/utm/) && $target.attr("href").match(/Inquiry_Number=/)){
40          //  URLとパラメータにutmがついていて、Inquiry_Numberもある場合utm部分上書き
41          var $inquiryURL = $target.attr("href").split("&",1);
42          $target.attr("href", $inquiryURL + replaceParam);
43        } else {
44          // それ以外引き継ぎ
45          $target.attr("href", $target.attr("href") + replaceParam);
46        }
47      } else if((location.href).match(/merchant-knowhow/) && $target.attr("href").indexOf("?") !== -1 ){
48      // merchant-knowhowでパラメータがある場合
49        if($target.attr("href").indexOf("#") !== -1) {
50          // ハッシュタグがある場合
51          $target.attr("href",$targetURL + param + hashLinkTag);
52        }  else {
53          // それ以外上書き
54          $target.attr("href",$targetURL + param);
55        }
56      } else if($target.attr("href").indexOf("?") !== -1) {
57      // リンクにパラメータが付いている場合
58        if($target.attr("href").match(/paypay/) && $target.attr("href").match(/utm/) && param.match(/utm/) && !$target.attr("href").match(/dashboard.paypay.ne.jp/) &&!$target.attr("href").match(/merchant.paypay.ne.jp/)) {
59          // リンクがpaypayドメインでパラメータとurlにutmが付く場合上書き
60          if($target.attr("href").indexOf("#") !== -1) {
61            // ハッシュタグもある場合
62            $target.attr("href",$targetURL + param + hashLinkTag);
63          } else {
64            $target.attr("href",$targetURL + param);
65          }
66        } else if($target.attr("href").indexOf("#") !== -1) {
67          // ハッシュタグがついている場合
68          $target.attr("href", hashHref + replaceParam + hashLinkTag);
69        } else {
70          // それ以外は引き継ぎ
71          $target.attr("href", $target.attr("href") + replaceParam);
72        }
73      } else if($target.attr("href").indexOf("#") !== -1) {
74      // リンクにハッシュタグがある場合
75        if($target.attr("href").match(/^(https|http):\/\//)) {
76          $target.attr("href", hashHref + param + hashLinkTag);
77        } else {
78          $target.attr("href", $target.attr("href"));
79        }
80      } else {
81      // 通常の処理
82        $target.attr("href", $target.attr("href") + param);
83      }
84  })
85
86};
87
88// ?appwebviewの引継ぎ
89function footerParameter($targets) {
90  var param = location.search;
91  if (!param) return;
92  $targets.not('.footerShare a, .footerShareVer2 a, .share a, .c-footerShare a').each(function (i, target) {
93    var $target = $(target); // ターゲット
94    var paypay = "paypay.ne.jp/";
95    var aboutpaypay = "about.paypay.ne.jp/";
96    // パラメータが?appwebviewの時
97    if (param.match(/appwebview/)) {
98      var footerparam = 'appwebview';
99      if((($target.attr("href").indexOf(paypay) !== -1 || $target.attr("href").indexOf(aboutpaypay) !== -1 || $target.attr("href").match(/^\//) ) && $target.attr("href").indexOf(footerparam) == -1)) {
100        // paypay.ne.jpかabout.paypayか/で始まる場合
101        if($target.attr("href").indexOf('#') !== -1) {
102          var index = $target.attr("href").indexOf('#');
103          var permalink = $target.attr("href").substring(0, index);
104          var anchor = $target.attr("href").substring(index);
105          if ($target.attr("href").indexOf('?') !== -1) {
106            $target.attr('href', permalink + '&' + footerparam + anchor);
107          } else {
108            $target.attr('href', permalink + '?' + footerparam + anchor);
109          }
110        } else {
111          if($target.attr("href").indexOf('?') !== -1) {
112            $target.attr('href', $target.attr("href") + '&' + footerparam);
113          } else {
114            $target.attr('href', $target.attr("href") + '?' + footerparam);
115          }
116        }
117      }
118    }
119  })
120};
121
122export {takeOverParameter,footerParameter};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.