ページアクセス時にURLに付与されているパラメータを、ページ内の特定のリンクに引き継がせたいということがあったので、実装方法をメモ。
サンプルコード
パラメータを引き継がせたいリンクに.js-linkを付与します。
<a href="/" class="js-link">リンクA</a> <a href="index.html" class="js-link">リンクB</a> <a href="index.html?key=val" class="js-link">リンクC</a> <a href="" class="js-link">リンクD</a>
URLのパラメータの値をリンクに追加します。
document.addEventListener('DOMContentLoaded', function () {
const params = window.location.search;
const links = document.querySelectorAll('.js-link');
links.forEach(function(element) {
element.href = element.href.split('?')[0];
element.href += params;
});
});
リンクに既にパラメータがある場合は削除した上で、URLのパラメータを引き継ぐようにしています。
パラメータを引き継ぐデモページ
コメントが承認されるまで時間がかかります。