Javascriptで、URLのパラメータを取得し、リンクにパラメータを渡したいです。
例えば、現在のURLが、
http://www.hoge.com/hoge.html?q=12345&pdf=downだとします。
そのページには、様々なリンクがありますが
特定のリンクにのみ、下記のようにパラメータを追加したいです。
http://www.hoge.com/test.pdf
↓
http://www.hoge.com/test.pdf?q=12345&pdf=down
検索した際に近そうなサンプルなどありましたが、
こちらは使えそうでしょうか。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script type="text/javascript">
window.onload = function onLoad() {
param = GetQueryString();
target = document.getElementById("param");
target.innerHTML = param["q"];
}
function GetQueryString() {
if (1 < document.location.search.length) {
// 最初の1文字 (?記号) を除いた文字列を取得する
var query = document.location.search.substring(1);
// クエリの区切り記号 (&) で文字列を配列に分割する
var parameters = query.split('&');
var result = new Object();
for (var i = 0; i < parameters.length; i++) {
// パラメータ名とパラメータ値に分割する
var element = parameters[i].split('=');
var paramName = decodeURIComponent(element[0]);
var paramValue = decodeURIComponent(element[1]);
// パラメータ名をキーとして連想配列に追加する
result[paramName] = decodeURIComponent(paramValue);
}
return result;
}
return null;
}
</script>
</head>
<body>
<div>テスト</div>
<div id="param"></div>
<a href="test.pdf">PDFダウンロード</a>
</body>
</html>
元コードは下記サイトのものです。
http://www.ipentec.com/document/document.aspx?pa …
どうぞよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
特定のリンク
<a href="test.pdf" class="特定のリンク">PDF</a>
特定のリンクにのみ、現URLのパラメーターを追加
var search = document.location.search;
var targets = document.querySelectorAll('a.特定のリンク');
for (var i = 0; i < targets.length; i++) {
_ var target = targets[i];
_ var url = target.href;
_ url = url.replace(/\?.*$/,''); // 既存のパラメーターを削除
_ url += search; // 現URLのパラメーターを追加
_ target.href = url;
}
もし、現URLのパラメーターのうち 'q' と 'pdf' のみ追加したいなら、
関数 GetQueryString の戻り値から、変数 search を生成してください。
ご回答頂いてありがとうございます!
教えて頂いたコードを組み込んで、実行することができました。
本当にありがとうございます。
以下組み込んだコード。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script type="text/javascript">
window.onload = function onLoad() {
param = GetQueryString();
target = document.getElementById("param");
target.innerHTML = param["q"];
}
function GetQueryString() {
var search = document.location.search;
var targets = document.querySelectorAll('a.coupon_code');
for (var i = 0; i < targets.length; i++) {
var target = targets[i];
var url = target.href;
url = url.replace(/\?.*$/,''); // 既存のパラメーターを削除
url += search; // 現URLのパラメーターを追加
target.href = url;
}
}
</script>
</head>
<body>
<div>パラメーター</div>
<div id="param"></div>
<a class="coupon_code" href="test.pdf">クーポン発行をする</a>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
C#で、ContextMenuStripに動的...
-
GASでundefinedエラーが出ます
-
ASP.NET MVCでObjectをjsに渡す
-
IE8で種類が一致しませんとエラ...
-
ASP.NETのコントロールの値をJa...
-
C#OpenCv V4にのエラーに関する...
-
Ajaxでタイムアウトしてしまう
-
イベントが初めの一回しか起き...
-
javascriptカウントダウン終了...
-
APIを使って埋め込んだグーグル...
-
JavaScriptで文字列の特定文字...
-
第3日曜日のみの日付を取得、...
-
URLのパラメータを取得しリンク...
-
javaScriptのコードの修正をお...
-
翌月を取得するGASが分かりません
-
テーブルセル内のinput要素のna...
-
アンカーをクリックしたときに...
-
【javascript】正規表現で括弧...
-
「~○ヶ月○日」という表示方法 2
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
ASP.NET MVCでObjectをjsに渡す
-
C#で、ContextMenuStripに動的...
-
GASでundefinedエラーが出ます
-
ジェネレーターの作り方
-
翌月を取得するGASが分かりません
-
ASP.NETのコントロールの値をJa...
-
台形公式
-
html javascript リンク先アド...
-
なぜmatchメソッドがエラーにな...
-
javaScript textareaの一行あた...
-
1日1回だけ引けるjavascriptお...
-
javascriptでテーブルに追加し...
-
VSCODE[Python]の設定について
-
googleスプレッドシートのApps ...
-
gas スプレッドシートがアクテ...
-
今日からnヶ月後(前)
-
Google Apps Script で添付ファ...
-
setTimeoutによる繰り返しが途...
おすすめ情報