url-cheatsheet 较为详细地介绍了如何使用 javascript 处理 url,包括以下内容:
- DO NOT: concat url and user input without escape
- DO NOT: concat parameter and user input without escape
- Base URL + Path
- Get parameter from URL
- Get multiple parameters as array from URL
- Add parameters to URL
- Update parameter of URL
- Remove parameter from URL
- Filter parameters
- Check URL is Absolute-URL
- Check URL is HTTP
第 2 条,不要把未经过 escape 的字符串作为参数拼接到 url 中,拼接参数使用第 6 条可能是更好的做法,因为 url.search = new URLSearchParams({ q })
中的 new URLSearchParams()
会自动对字符串进行 escape。