URL:search 屬性
注意:此功能在 Web Workers 中可用。
URL 介面的 search 屬性是一個搜尋字串,也稱為查詢字串,它是一個包含 "?" 及其後面的 URL 引數的字串。如果 URL 沒有搜尋查詢,則此屬性包含一個空字串 ""。
可以設定此屬性來更改 URL 的查詢字串。設定時,如果未提供,則會在提供的值前面新增一個 "?" 字首。將其設定為空字串 "" 會刪除查詢字串。
查詢在設定時會進行百分比編碼,但在讀取時不會進行百分比解碼。
現代瀏覽器提供了 URL.searchParams 屬性,可以輕鬆地從查詢字串中解析出引數。
值
字串。
示例
基本用法
js
const url = new URL(
"https://mdn.club.tw/en-US/docs/Web/API/URL/search?q=123",
);
console.log(url.search); // Logs "?q=123"
與 searchParams 的互動
URL.searchParams 屬性將 search 字串公開為一個 URLSearchParams 物件。更新此 URLSearchParams 時,URL 的 search 會隨著其序列化而更新。但是,URL.search 會對 URLSearchParams 進行編碼的字元子集進行編碼,並將空格編碼為 %20 而不是 +。這可能會導致一些令人驚訝的互動——如果您更新 searchParams,即使使用相同的值,URL 的序列化方式也可能不同。
js
const url = new URL("https://example.com/?a=b ~");
console.log(url.href); // "https://example.com/?a=b%20~"
console.log(url.searchParams.toString()); // "a=b+%7E"
// This should be a no-op, but it changes the URL's query to the
// serialization of its searchParams
url.searchParams.sort();
console.log(url.href); // "https://example.com/?a=b+%7E"
const url2 = new URL("https://example.com?search=1234¶m=my%20param");
console.log(url2.search); // "?search=1234¶m=my%20param"
url2.searchParams.delete("search");
console.log(url2.search); // "?param=my+param"
規範
| 規範 |
|---|
| URL # dom-url-search |
瀏覽器相容性
載入中…
另見
- 它所屬的
URL介面。