相关疑难解决方法(0)

jquery:更改URL地址而不重定向?

可能重复:
修改AJAX应用程序中的地址栏URL以匹配当前状态

如何在不重定向页面的情况下更改URL地址?

例如,当我点击下面的链接时:

<a href="http://mysite.com/projects/article-1" class="get-article">link</a>
Run Code Online (Sandbox Code Playgroud)

我将从链接中获取URL:

var path = object.attr('href');
Run Code Online (Sandbox Code Playgroud)

如果我在下面执行此操作,页面将被重定向:

window.location = path;
Run Code Online (Sandbox Code Playgroud)

我想做这样的网站,当你点击图片时,ajax调用将获取所请求的页面,窗口上的URL地址也将被更改,以便它有一个你点击的路径.

ajax jquery redirect location

85
推荐指数
3
解决办法
18万
查看次数

window.history.pushState刷新浏览器

我正在研究一些javascript代码,并使用window.History.pushState加载新HTML页面,而不是使用href标签.我的代码(工作正常)看起来像这样.

window.History.pushState({urlPath:'/page1'},"",'/page1')
Run Code Online (Sandbox Code Playgroud)

奇怪的是,这失败了,即重新加载浏览器

window.History.pushState({urlPath:'/page2.php'},"",'/page2.php')
Run Code Online (Sandbox Code Playgroud)

但是这个工作,内容更新,浏览器没有刷新!(注意URL是绝对的而不是相对的)

window.History.pushState({urlPath:'www.domain.com/page2.php'},"",'www.domain.com/page2.php')
Run Code Online (Sandbox Code Playgroud)

文档window.History.pushState说,第三个参数的URL可以是绝对或相对-

URL - 此历史记录条目的URL由此参数指定.请注意,在调用pushState()之后,浏览器不会尝试加载此URL,但稍后可能会尝试加载URL,例如在用户重新启动浏览器之后.新URL不一定是绝对的; 如果是相对的,则相对于当前URL进行解析.新URL必须与当前URL的源相同; 否则,pushState()将抛出异常.此参数是可选的; 如果未指定,则将其设置为文档的当前URL.

绝对URL似乎正在起作用,但相对似乎并非如此.为什么会这样?

html javascript php browser pushstate

38
推荐指数
3
解决办法
10万
查看次数

标签 统计

ajax ×1

browser ×1

html ×1

javascript ×1

jquery ×1

location ×1

php ×1

pushstate ×1

redirect ×1