要在JavaScript中刷新当前页面并添加参数到URL中,可以使用window.location.href
或者window.location.replace
方法来构造新的URL。具体方法如下:
1. 使用 window.location.href
// 获取当前URL
const currentUrl = new URL(window.location.href);
// 添加参数
currentUrl.searchParams.set('paramName', 'paramValue');
// 重定向到新的URL
window.location.href = currentUrl.toString();
2. 使用 window.location.replace
// 获取当前URL
const currentUrl = new URL(window.location.href);
// 添加参数
currentUrl.searchParams.set('paramName', 'paramValue');
// 替换当前页面
window.location.replace(currentUrl.toString());
示例代码
下面是一个完整的示例,展示如何在点击按钮时刷新当前页面并添加参数到URL中:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Page Refresh with Parameters Example</title>
</head>
<body>
<button onclick="refreshPageWithParam()">刷新页面并添加参数</button>
<script>
function refreshPageWithParam() {
// 获取当前URL
const currentUrl = new URL(window.location.href);
// 添加参数
currentUrl.searchParams.set('refresh', 'true'); // 添加参数
// 选择一种方法来刷新页面
window.location.href = currentUrl.toString(); // 重定向到新的URL
// 或者使用
// window.location.replace(currentUrl.toString()); // 替换当前页面
}
</script>
</body>
</html>
在这个示例中,当用户点击“刷新页面并添加参数”按钮时,页面将会刷新,并且URL中会添加一个名为refresh
的参数,其值为true
。
解释
-
获取当前URL:
- 使用
new URL(window.location.href)
创建一个URL对象,这使得处理URL变得更加容易。
- 使用
-
添加参数:
- 使用
searchParams.set
方法向URL对象中添加新的查询参数。如果参数已存在,则会覆盖原来的值。
- 使用
-
重定向或替换当前页面:
- 使用
window.location.href
进行重定向,这会在浏览器的历史记录中添加一条新的记录。 - 使用
window.location.replace
替换当前页面,这不会在历史记录中添加新记录。
- 使用
选择合适的方法取决于您的具体需求。如果需要保留历史记录,使用window.location.href
;如果不希望在历史记录中留下痕迹,使用window.location.replace
。