TL;DR
const url = new URL(location);
url.search = '';
// コンソールで表示
console.log(url.href);
// ブックマークレット向け
history.replaceState(null, '', url); // URL 書き換え
prompt('URL removed search params.', url); // プロンプトで表示 (そのままコピペ可)
モチベーション・背景
GitHub で見出しのアンカーリンクを拾ってると、勝手に https://github.com/fish-shell/fish-shell/?tab=readme-ov-file#packages-for-linux
と言った感じで、
クエリー tab=readme-ov-file
が付くようになっていました。
マークダウンなどドキュメントにメモする際など、割と邪魔なので除去するブックマークレットを用意しました。
javascript:{const u=new URL(location);u.search='';history.replaceState(null,'',u)}
ブックマークレット生成用 HTML
<a href="javascript:{const u=new URL(location);u.search='';history.replaceState(null,'',u)}">Remove queries</a>