回答編集履歴

3

追記

2018/03/23 02:24

投稿

umyu
umyu

スコア5846

test CHANGED
@@ -140,7 +140,7 @@
140
140
 
141
141
  ```
142
142
 
143
- お詫びついでにURLSearchParamsを使ったコード&rel="noopener"を追加したコードをおいておきます。
143
+ お詫びついでに[URLSearchParams](https://developer.mozilla.org/ja/docs/Web/API/URLSearchParams)を使ったコード&rel="noopener"を追加したコードをおいておきます。
144
144
 
145
145
  失礼しました。
146
146
 
@@ -166,8 +166,6 @@
166
166
 
167
167
  $('.link').append('<a href="https://text/' + sub_dir + '/" target="_blank" rel="noopener"><img src="images/link_off.png" alt=""></a>');
168
168
 
169
- console.log(urlParam);
170
-
171
169
  });
172
170
 
173
171
  ```

2

追記

2018/03/23 02:24

投稿

umyu
umyu

スコア5846

test CHANGED
@@ -81,3 +81,93 @@
81
81
  ※1~※3まで
82
82
 
83
83
  どういう条件の時に何の処理を行っているかを質問者様の言葉で説明してみてくださいな。
84
+
85
+
86
+
87
+ ---
88
+
89
+ location.search.substring(1);の戻り値は`undefined`ではないのですね。誤回答失礼しました。
90
+
91
+
92
+
93
+ ```JavaScript
94
+
95
+ $(function (){
96
+
97
+ var urlParam = location.search.substring(1);
98
+
99
+ if(urlParam == '') {
100
+
101
+ $('.link').append('<a href="https://text/" target="_blank"><img src="images/link_off.png" alt=""></a>');
102
+
103
+ return;
104
+
105
+ }
106
+
107
+ // 「&」が含まれている場合は「&」で分割
108
+
109
+ var param = urlParam.split('&');
110
+
111
+ // パラメータを格納する用の配列を用意
112
+
113
+ var paramArray = [];
114
+
115
+
116
+
117
+ // 用意した配列にパラメータを格納
118
+
119
+ for (i = 0; i < param.length; i++) {
120
+
121
+ var paramItem = param[i].split('=');
122
+
123
+ paramArray[paramItem[0]] = paramItem[1];
124
+
125
+ }
126
+
127
+ if (urlParam == 'param=aaa') {
128
+
129
+ $('.link').append('<a href="https://text/aaa/" target="_blank"><img src="images/link_off.png" alt=""></a>');
130
+
131
+ } else if (urlParam == 'param=bbb') {
132
+
133
+ $('.link').append('<a href="https://text/bbb/" target="_blank"><img src="images/link_off.png" alt=""></a>');
134
+
135
+ }
136
+
137
+ console.log(urlParam);
138
+
139
+ });
140
+
141
+ ```
142
+
143
+ お詫びついでにURLSearchParamsを使ったコード&rel="noopener"を追加したコードをおいておきます。
144
+
145
+ 失礼しました。
146
+
147
+
148
+
149
+ ```JavaScript
150
+
151
+ $(function (){
152
+
153
+ var searchParams = new URLSearchParams(location.search);
154
+
155
+ // target _blankで開くリンクはrel="noopener"を付けると安全になります。
156
+
157
+ if (!searchParams.has('param')) {
158
+
159
+ $('.link').append('<a href="https://text/" target="_blank" rel="noopener"><img src="images/link_off.png" alt=""></a>');
160
+
161
+ return;
162
+
163
+ }
164
+
165
+ sub_dir = searchParams.get("param");
166
+
167
+ $('.link').append('<a href="https://text/' + sub_dir + '/" target="_blank" rel="noopener"><img src="images/link_off.png" alt=""></a>');
168
+
169
+ console.log(urlParam);
170
+
171
+ });
172
+
173
+ ```

1

追記

2018/03/23 02:22

投稿

umyu
umyu

スコア5846

test CHANGED
@@ -29,3 +29,55 @@
29
29
 
30
30
 
31
31
  あと、IE対応をしなくてもよいなら、[URLSearchParams](https://developer.mozilla.org/ja/docs/Web/API/URLSearchParams)が使えると思います。
32
+
33
+
34
+
35
+ ---
36
+
37
+ 2018/03/23追記
38
+
39
+
40
+
41
+ コメント欄のコードから引用します。
42
+
43
+ ```Java
44
+
45
+ if(urlParam === undefined) {
46
+
47
+ //nullの時に行いたいこと。
48
+
49
+ urlParam = 'null'; // ※1
50
+
51
+ return; // ※2
52
+
53
+ } else if(urlParam) { // ※3
54
+
55
+ // 「&」が含まれている場合は「&」で分割
56
+
57
+ var param = urlParam.split('&');
58
+
59
+
60
+
61
+ // パラメータを格納する用の配列を用意
62
+
63
+ var paramArray = [];
64
+
65
+
66
+
67
+ // 用意した配列にパラメータを格納
68
+
69
+ for (i = 0; i < param.length; i++) {
70
+
71
+ var paramItem = param[i].split('=');
72
+
73
+ paramArray[paramItem[0]] = paramItem[1];
74
+
75
+ }
76
+
77
+ }
78
+
79
+ ```
80
+
81
+ ※1~※3まで
82
+
83
+ どういう条件の時に何の処理を行っているかを質問者様の言葉で説明してみてくださいな。