📌  相关文章
📜  JavaScript 中 window.location.href、window.location.replace 和 window.location.assign 的区别(1)

📅  最后修改于: 2023-12-03 15:01:40.253000             🧑  作者: Mango

JavaScript 中 window.location.href、window.location.replace 和 window.location.assign 的区别

在JavaScript中,我们可以使用window.location对象来操作浏览器的URL。window.location提供了多个方法来改变当前页面的URL,其中包括hrefreplaceassign

window.location.href

window.location.href是一个属性,它包含当前页面的完整URL,并且可以被修改。当我们将新的URL赋值给window.location.href时,浏览器会立即跳转到新的URL,并加载该URL对应的页面。示例代码如下:

window.location.href = "https://www.example.com";

这将导致页面立即跳转到 "https://www.example.com"。

window.location.replace

window.location.replace是一个方法,它与window.location.href类似,也可以用来跳转到新的URL。不同之处在于,使用replace方法进行页面跳转时,浏览器不会在浏览器的历史记录中生成新的记录。这意味着用户无法通过点击“后退”按钮返回到前一个页面。示例代码如下:

window.location.replace("https://www.example.com");

这将导致页面跳转到 "https://www.example.com",但用户无法返回到前一个页面。

window.location.assign

window.location.assign是另一个方法,它也可以用来跳转到新的URL。与window.location.href不同的是,assign方法会在浏览器的历史记录中生成一个新的记录,允许用户通过点击“后退”按钮返回到前一个页面。示例代码如下:

window.location.assign("https://www.example.com");

这将导致页面跳转到 "https://www.example.com",并在浏览器的历史记录中生成一个新的记录。

总结
  • 使用window.location.href属性来改变当前页面的URL,浏览器会立即跳转到新的URL。
  • 使用window.location.replace方法进行页面跳转时,浏览器不会在历史记录中生成新的记录。
  • 使用window.location.assign方法进行页面跳转时,浏览器会在历史记录中生成新的记录。

根据你的需求,选择适合的方法来改变当前页面的URL,以达到期望的效果。