URLSearchParams.set()
URLSearchParams
インターフェイスの set()
メソッドは、指定された検索パラメーターに関連付けられた値を指定された値に設定します。 一致する値が複数ある場合、このメソッドは他の値を削除します。 検索パラメーターが存在しない場合、このメソッドはそれを作成します。
注: この機能は Web Worker 内で利用可能です
構文
URLSearchParams.set(name, value)
パラメーター
- name
-
設定するパラメーターの名前。
- value
-
設定するパラメーターの値。
戻り値
無効。
例
次の簡単な例から始めましょう。
let url = new URL('https://example.com?foo=1&bar=2');
let params = new URLSearchParams(url.search.slice(1));
// 3番目のパラメーターを追加します。
params.set('baz', 3);
以下は、URL
を作成し、いくつかの検索パラメーターを設定する方法を示す実際の例です。
スクラッチパッドに例をコピーして貼り付けることができます。
- 41 行目:コンソールへの (debug による) 検索パラメーターのダンプを停止するにはコメントにします。
- 43 行目:生成されたオブジェクトとその文字列表現をコンソールに (info で) ダンプします。
- 44 行目:生成された URL で新しいウィンドウ/タブを自動的に開こうとします(コメントが解除されている場合)。
'use strict'
function genURL(rExp, aText, bDebug=false){
let theURL
theURL= new URL('https://regexr.com')
theURL.searchParams.set( 'expression', rExp.toString() )
theURL.searchParams.set( 'tool', 'replace' )
theURL.searchParams.set( 'input', '\u2911\u20dc' )// ⤑⃜
theURL.searchParams.set( 'text', aText.join('\n') )
if( bDebug ){
// キー/値のペアを表示
for(var pair of theURL.searchParams.entries()) {
console.debug(pair[0] + ' = \'' + pair[1] + '\'');
}
console.debug(theURL)
}
return theURL
}
var url = genURL(
/(^\s*\/\/|\s*[^:]\/\/).*\s*$|\s*\/\*(.|\n)+?\*\/\s*$/gm // 単一行/複数行のコメント
// /(^\s*\/\/.*|\s*[^:]\/\/.*)/g // 単一行のコメント
,[
"これらは動作します:",
"",
"// eslint-disable-next-line no-unused-vars",
"lockPref( 'keyword.URL',\t\t'https://duckduckgo.com/html/?q=!+' )\t// test",
"/*",
" * bla bla ",
"*/",
"",
"/* bla bla */",
"",
"// bla bla ",
"",
"これらは動作しません:",
"console.log(\"http://foo.co.uk/\")",
"var url = \"http://regexr.com/foo.html?q=bar\"",
"alert(\"https://mediatemple.net\")",
]
, true
)
console.info( url, url.toString() )
// window.open( url, 'regex_site' )
仕様
Specification |
---|
URL Standard # dom-urlsearchparams-set |
ブラウザーの互換性
BCD tables only load in the browser