【问题标题】:how to change the url without reloading如何在不重新加载的情况下更改网址
【发布时间】:2015-03-24 11:00:58
【问题描述】:

我已经阅读了很多关于如何在不重新加载页面的情况下更改 URL 的其他问题。这是我的代码,我只是想知道是否有人可以告诉我我做错了什么?当我单击按钮时,它不会更改网址。这是我的确切代码,不知道我做错了什么,谢谢。

<!doctype html>
<html lang="en">
<head>

<meta charset="UTF-8">

<title> Social Media </title>

</head>
<body>
    <input type="button" value="Page1" onclick="ChangeUrl('Page1','Page1.htm');" />

<script type="text/javascript">
function ChangeUrl(title, url) {
    window.history.pushState("object or string", "Title", "/new-url");
}
</script>
</body>
</html>

我希望新 url 以 /new-url 结尾。谢谢

【问题讨论】:

标签: javascript html


【解决方案1】:
<input type="button" value="Page1" onclick="ChangeUrl('Page1','Page1.htm');" />
<script type="text/javascript">
function ChangeUrl(title, url) 
{
    window.history.pushState("object or string", title, url);
}
</script>

【讨论】:

  • 为什么 OP 应该尝试这个?请添加对您所做的事情以及您这样做的原因的解释,不仅是为了 OP,也是为了 SO 的未来访问者。
【解决方案2】:

您可以通过两种方式做到这一点。

  1. pushState 创建一个新的历史条目
  2. replaceState 更新当前历史条目

你可以这样做:

function changeURL(title, url)
{
    history.replaceState("", title, url);
}

【讨论】:

  • 我正在尝试使用 pushState,但我无法让它工作,只是想知道您是否知道我做错了什么,谢谢。
猜你喜欢
  • 1970-01-01
  • 2015-02-14
  • 1970-01-01
  • 2021-01-10
  • 2016-12-17
  • 2015-03-24
  • 2012-05-26
  • 2012-11-05
  • 2014-01-10
相关资源
最近更新 更多