我有一个这样的网址:
www.example.com/index.php
我需要更改url而不重新加载页面,所以我必须使用window.history.pushState据我所知,buti无法理解这个函数的语法,所以我需要一些帮助。 如果我想在URL中添加id,如下所示:
www.example.com/index.php?id=1
window.history.pushState的语法是什么样的?或者,如果我想更改id值? (我是javascript的新手,所以我有一些麻烦理解它。)
答案 0 :(得分:2)
当您更改URL本身时,页面必须重新加载,即使您可以阻止此操作,也不应该这样做。您可以更改哈希值,这可以通过window.location.hash
访问,并且更改此值不会导致浏览器重新加载,而您仍然可以使用它来为子页面设置不同的URL,甚至可以使用后退和前进的按钮。
编辑:在您的情况下,您可以执行window.location.hash = "id=1";
。
答案 1 :(得分:0)
您的问题的简短回答是:"您不能。"使用window.history.pushstate编辑/添加/删除GET数据是不可能的 - 这是因为在提供页面之前将GET信息发送到服务器,而在提供页面之后进行任何JavaScript交互。