JavaScript 中修改 URL
浏览器的历史界面控制浏览器的会话历史。它包含在显示当前页面的标签页或框架中访问的最后一页。
操纵此状态允许你在不重新加载页面的情况下更改浏览器的 URL。在本文中,我们将使用 JavaScript 中的不同方法处理修改 URL。
replaceState()
方法通过将状态的属性替换为提供的参数中的属性来替换历史中的当前状态。
语法:
history.replaceState(data, title ,url)
数据代表浏览器历史的当前状态,标题指的是新页面的标题,URL 指的是新标题页面的 URL。
例子:
<!DOCTYPE html>
<html>
<head>
<title>
modify URL
</title>
</head>
<body>
<b>
Modify URL without reloading the page
</b>
<p>
To change the current status of the history, click the button below.
</p>
<button onclick="modifyState()">
Modify history state
</button>
<script>
function modifyState() {
let stateObj = { id: "100" };
window.history.replaceState(stateObj, "x 2", "/x2.html");
}
</script>
</body>
</html>
这种方法不是产生一个新的历史项目,而是更新当前的。当我们希望更新当前历史记录的 URL 时,我们使用此方法。
可以通过将所需的 URL 作为字符串提供给此方法来更改 URL。这将修改页面的 URL,而无需重新加载。
输出:
在点击按钮之前:
点击按钮后:
作为 pushState()
方法的输入的属性会创建一个新的历史记录条目。在不重新启动页面的情况下,这会将当前 URL 更新为指定的新状态。
语法:
history.pushState(state object, title, url)
例子:
<!DOCTYPE html>
<html>
<head>
<title>
Modify URL
</title>
</head>
<body>
<b>
modify URL without reloading
the page
</b>
<p>
To change the current status of the history, click the button below.
</p>
<button onclick="addState()">
Add history state
</button>
<script>
function addState() {
let stateObj = { id: "100" };
window.history.pushState(stateObj,
"x 2", "/x2.html");
}
</script>
</body>
</html>
可以通过将所需的 URL 作为字符串提供给此方法来更改 URL。这将修改页面的 URL,而无需重新加载。
输出:
在点击按钮之前:
点击按钮后:
相关文章
在 Angular 中上传文件
发布时间:2023/04/14 浏览次数:71 分类:Angular
-
本教程演示了如何在 Angular 中上传任何文件。我们还将介绍如何在文件上传时显示进度条,并在上传完成时显示文件上传完成消息。
Angular 中所有 Mat 图标的列表
发布时间:2023/04/14 浏览次数:91 分类:Angular
-
本教程演示了在哪里可以找到 Angular 中所有 Mat 图标的列表以及如何使用它们。
Angular 2 中的复选框双向数据绑定
发布时间:2023/04/14 浏览次数:139 分类:Angular
-
本教程演示了如何一键标记两个复选框。这篇有 Angular 的文章将着眼于执行复选框双向数据绑定的不同方法。
在 AngularJS 中重新加载页面
发布时间:2023/04/14 浏览次数:142 分类:Angular
-
我们可以借助 windows.location.reload 和 reload 方法在 AngularJS 中重新加载页面。
在 AngularJs 中设置 Select From Typescript 的默认选项值
发布时间:2023/04/14 浏览次数:78 分类:Angular
-
本教程提供了在 AngularJs 中从 TypeScript 中设置 HTML 标记选择的默认选项的解释性解决方案。
在 AngularJS 中启用 HTML5 模式
发布时间:2023/04/14 浏览次数:150 分类:Angular
-
本文讨论如何在 AngularJS 应用程序上启用带有深度链接的 HTML5 模式。
在 AngularJs 中加载 spinner
发布时间:2023/04/14 浏览次数:107 分类:Angular
-
我们将介绍如何在请求加载时添加加载 spinner,并在 AngularJs 中加载数据时停止加载器。
在 Angular 中显示和隐藏
发布时间:2023/04/14 浏览次数:78 分类:Angular
-
本教程演示了 Angular 中的显示和隐藏。在开发商业应用程序时,我们需要根据用户角色或条件隐藏一些数据。我们必须根据该应用程序中的条件显示相同的数据。
在 Angular 中下载文件
发布时间:2023/04/14 浏览次数:104 分类:Angular
-
本教程演示了如何在 angular 中下载文件。我们将介绍如何通过单击按钮在 Angular 中下载文件并显示一个示例。