在 JavaScript 中,使用 window.history.pushState()
方法可以更改浏览器的历史记录,但这个方法本身并不直接提供获取 URL 参数或基地址的功能。如果你想要获取相对路径的 URL 参数和基地址,可以结合以下步骤:
- 获取当前URL:可以使用
window.location
对象来获取当前页面的 URL。 - 解析URL参数:可以手动解析 URL 或使用
URLSearchParams
API 来处理查询参数。
示例代码
// 获取当前页面的完整URL
const currentUrl = window.location.href;
// 解析URL以获取基础路径(去掉查询参数)
const baseUrl = currentUrl.split('?')[0];
// 如果需要获取查询参数
const urlParams = new URLSearchParams(window.location.search);
// 获取特定参数,例如 'param1'
const paramValue = urlParams.get('param1');
console.log("Base URL:", baseUrl);
console.log("Param Value:", paramValue);
// 使用 pushState 更改历史记录
const newState = { key: "value" };
const newTitle = "New Page Title";
const newUrl = "/new-path"; // 相对路径
window.history.pushState(newState, newTitle, newUrl);
总结
- 使用
window.location.href
获取完整的 URL。 - 用
.split('?')
方法提取基础路径。 - 利用
URLSearchParams
处理查询字符串中的参数。 - 调用
pushState()
方法时,提供新的相对路径即可。
这样,你就可以有效地管理和读取相对路径的 URL 参数了。
内容由零声教学AI助手提供,问题来源于学员提问