見ていMDNの記事についてをwindow.location
。
QueryStringはで使用できますwindow.location.search
。
従来のブラウザでも機能するソリューション
MDN は、QueryStringで使用可能な単一のキーの値を取得する方法の例(上記の参照記事では使用できなくなりました)を提供します。このようなもの:
function getQueryStringValue (key) {
return decodeURIComponent(window.location.search.replace(new RegExp("^(?:.*[&\\?]" + encodeURIComponent(key).replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1"));
}
// Would write the value of the QueryString-variable called name to the console
console.log(getQueryStringValue("name"));
最新のブラウザ
最近のブラウザーsearchParams
では、URLインターフェースのプロパティがあり、URLSearchParamsオブジェクトを返します。返されるオブジェクトには、getメソッドなどの便利なメソッドがいくつかあります。したがって、上記の例と同等のものは次のようになります。
let params = (new URL(document.location)).searchParams;
let name = params.get("name");
URLSearchParamsのインターフェースも、クエリ文字列の形式で解析文字列に使用され、そして便利なURLSearchParamsオブジェクトにそれらを回すことができます。
let paramsString = "name=foo&age=1337"
let searchParams = new URLSearchParams(paramsString);
searchParams.has("name") === true; // true
searchParams.get("age") === "1337"; // true
このインターフェースではブラウザーのサポートがまだ制限されているため、レガシーブラウザーをサポートする必要がある場合は、最初の例をそのまま使用するか、ポリフィルを使用してください。