Location.search - クエリを取得、変更する
投稿日: / 更新日:
JavaScriptの、Locationオブジェクトのsearch
は、クエリ部分を取得、変更するプロパティです。
説明
Locationオブジェクトのsearchプロパティは、クエリの情報を含みます。取得できるのは、?syncer=1&good=true
の部分で、疑問符(?
)も含みます。
https://syncer.jp/index.html?syncer=1&good=true#section-1
searchプロパティに新しく値を設定することで現在のクエリを変更、すなわち、ページ移動させることができます。指定する値には疑問符(?
)は含めません。
// クエリを変更
window.location.search = "arayutw=2&bad=false" ;
https://syncer.jp/index.html?arayutw=2&bad=false#section-1
クエリ部分を変更してページ移動した場合、クエリ部分だけが変更されて、フラグメント識別子はそのまま引き継がれます。
サンプルコード
https://syncer.jp/index.html?syncer=1&good=true#section-1
// クエリ部分を取得 ( → "syncer=1&good=true" )
var search = window.location.search ;
// クエリ部分を変更 ( → https://syncer.jp/index.html?arayutw=2&bad=false#section-1 )
window.location.search = "arayutw=2&bad=false" ;
デモ
下記はsyncer-editor.com
上のページです。window.location.search
を取得して表示します。このページはクエリでページを切り替えているため、変更した場合は他のデモページに移動します。フラグメント識別子がそのまま引き継がれるのを確認したい場合は、お手数ですが、新しいウィンドウを開いてお試し下さい。
構文
string search = Location.search
Location.protocol = string newSearch
返り値
項目 | 説明 |
---|---|
search | 現在のURLのクエリ部分。先頭の疑問符(? )が含まれる。 |
指定する値
項目 | 説明 |
---|---|
newSearch | 新しく設定したいクエリ部分。先頭の疑問符(? )を含めない。 |
関連項目
- Location - ブラウザロケーションのオブジェクト。
- Location.hash - フラグメント識別子(#〜)を取得、変更する。
- Location.host - ホスト名とポートを取得、変更する。
- Location.hostname - ホスト名を取得、変更する。
- Location.href - 完全なURLを取得、変更する。
- Location.pathname - パスを取得、変更する。
- Location.port - ポート番号を取得、変更する。
- Location.protocol - プロトコルを取得、変更する。
- Location.search - クエリを取得、変更する。
外部リンク
- HTML Living Standard - WHATWGによる仕様書。