目次
【解説】JavaScriptでURLからパラメータを取得【値で条件分岐】
JavaScriptにてURLからパラメータを取得して、値により条件分岐させるコードがこちら。
document.addEventListener('DOMContentLoaded', () => {
function paramFunc(paramName, expectedValue) {
const params = new URLSearchParams(window.location.search);
const paramValue = params.get(paramName);
if (paramValue === expectedValue) {
// paramName が expectedValue の場合の処理
} else {
// paramName が expectedValue ではない場合の処理
}
}
// 'test' パラメータが 'javascript' の場合に処理を行う
paramFunc('test', 'javascript');
});
「?test=javascript」だったら、〇〇をさせたいというときに上記が使えます。
paramFunc(クエリパラメータ,値)の引数を変えれば、柔軟に使用可能です。
コードの具体的に解説したのがこちら↓
①:ページ読み込み後に処理実装
②:関数を定義(引数にパラメータと値を取る)
③:現在のURLのクエリパラメータを解析
④:クエリパラメータの値を取得
⑤:引数の値と取得した値により条件分岐
※:複数のパラメータの値によって分岐させる場合
順に見ていきましょう。
document.addEventListener('DOMContentLoaded', () => {
});
まずDOM構築の完了後に実装するコードを書きます。
document.addEventListener('DOMContentLoaded', () => {
function paramFunc(paramName, expectedValue) {
}
// 'test' パラメータが 'javascript' の場合に処理を行う
paramFunc('test', 'javascript');
});
続いて関数を定義。
パラメータと値を引数に受け取ることで、使いやすくします。
document.addEventListener('DOMContentLoaded', () => {
function paramFunc(paramName, expectedValue) {
const params = new URLSearchParams(window.location.search);
}
// 'test' パラメータが 'javascript' の場合に処理を行う
paramFunc('test', 'javascript');
});
「new URLSearchParams(window.location.search);」にて、現在のページURLのクエリパラメータを解析するオブジェクトを作成。
それをparamsという変数にいれます。
【解説】JavaScriptの「location」でURL情報を取得document.addEventListener('DOMContentLoaded', () => {
function paramFunc(paramName, expectedValue) {
const params = new URLSearchParams(window.location.search);
const paramValue = params.get(paramName);
}
// 'test' パラメータが 'javascript' の場合に処理を行う
paramFunc('test', 'javascript');
});
「const paramValue = params.get(paramName);」にて、格納した変数よりパラメータの値を取得。
それをparamValueという変数に入れます。
document.addEventListener('DOMContentLoaded', () => {
function paramFunc(paramName, expectedValue) {
const params = new URLSearchParams(window.location.search);
const paramValue = params.get(paramName);
if (paramValue === expectedValue) {
// paramName が expectedValue の場合の処理
} else {
// paramName が expectedValue ではない場合の処理
}
}
// 'test' パラメータが 'javascript' の場合に処理を行う
paramFunc('test', 'javascript');
});
あとは引数に入れた値部分と、取得したクエリパラメータの値が一致してるかのif文を記述。
これで取得したパラメータの値にて、条件分岐させることが可能です。
先述したコードは引数に値を入れておりました。
ただ場合によっては、色々な値によって条件分岐したいかと。
その時に使えるコードがこちら↓
document.addEventListener('DOMContentLoaded', () => {
function paramFunc(paramName) {
const params = new URLSearchParams(window.location.search);
const paramValue = params.get(paramName);
switch (paramValue) {
case 'javascript':
// 'test' が 'javascript' の場合の処理
break;
case 'html':
// 'test' が 'html' の場合の処理
break;
case 'css':
// 'test' が 'css' の場合の処理
break;
default:
// その他の値、または 'test' パラメータが存在しない場合の処理
break;
}
}
// 'test' パラメータに応じた処理を行う
paramFunc('test');
});
参考になれば幸いです!
【解説】JavaScriptのswitch文の使い方【サンプル付き】【解説】JavaScriptでURLからパラメータを取得【値で条件分岐】:まとめ
①:ページ読み込み後に処理実装
②:関数を定義(引数にパラメータと値を取る)
③:現在のURLのクエリパラメータを解析
④:クエリパラメータの値を取得
⑤:引数の値と取得した値により条件分岐
URLからパラメータを取得して、条件分岐したい時はためしてみてね!
ちなみにURL情報を扱う方法は下記もありますよ。
【解説】JavaScriptの「history」の使い方【履歴の前後】