使用 jQuery 更改浏览器地址栏 URL [重复]

Posted

技术标签:

【中文标题】使用 jQuery 更改浏览器地址栏 URL [重复]【英文标题】:Change browser address bar URL with jQuery [duplicate] 【发布时间】:2012-03-18 20:29:21 【问题描述】:

是否可以直接用jQuery更改浏览器地址栏中的URL,无需刷新页面或重定向到更改后的url?

或者由于安全问题,这不可能?

例如,我有一个由 jquery.ajax 驱动的列表,因此没有回发/屏幕刷新。该列表有一个分页元素。所以对于第一页,浏览器地址栏中的 url 是:

http://company/list.php?page=1

如果我从列表的分页部分单击第 2 页,它会显示基于第 2 页的列表,但由于这是 ajax 样式而不刷新/回发,浏览器 url 保持在

http://company/list.php?page=1

我希望能够将其更改为

http://company/list.php?page=2

不发回/重定向到新的网址

这不可能吗?

【问题讨论】:

【参考方案1】:

这只能在更现代的浏览器(Chrome、Safari、FF4+ 和 IE10pp3+)中完成

请参阅此问题:Updating address bar with new URL without hash or reloading the page 以获取有关如何操作的信息。

【讨论】:

【参考方案2】:

也许经过一些修改,您可以使用 Fragment Identifier aka Hash(# 登录 Url)来更改(部分)Url 而无需更改页面。

通常这用于自动将用户导航到页面中的特定章节或将控件初始化到特定状态。例如,在选项卡控件中自动选择正确的选项卡。 Ben Alman 对此有一个 example(使用 jQuery BBQ)。

【讨论】:

以上是关于使用 jQuery 更改浏览器地址栏 URL [重复]的主要内容,如果未能解决你的问题,请参考以下文章

jquery:更改URL地址而不重定向? [复制]

将通配符子域重定向到子目录,而不更改地址栏中的 URL

.htaccess 重定向而不更改地址栏

apache反向代理更改url

java重定向时如何保持地址栏不变

Facebook 如何在不重新加载页面或使用 # 或的情况下更改浏览器地址栏中的 URL?