【问题标题】:Jquery Update Browser Location, Don't RedirectJquery 更新浏览器位置,不要重定向
【发布时间】:2010-12-10 05:36:24
【问题描述】:

我正在为一个项目制作一系列基本的手风琴。

我们希望他们拥有静态的、可链接的页面。因此,我们还为每个打开状态创建了单独的页面。

例如,

/whoweare 是主滑块。

但是我们有一个子滑块位于 /whoweare/whatwedo

我希望做的是,当用户单击 /whoweare 上的标题时,滑块打开,并且 url 栏更新为 /whoweare/whatwedo,但没有实际的重定向。 url 位置应该只是改变,仅此而已。

我尝试过使用

window.location.replace($(this).attr('href'));
return false;

但这似乎没有完成我想要的,它仍然重新加载到一个新页面上。

还有其他建议吗?

【问题讨论】:

标签: jquery browser replace location


【解决方案1】:

如果不进行重定向,您将无法更改 URL - 这将是一场网络钓鱼的噩梦(例如,在访问网络钓鱼站点时将 URL 更改为银行的 URL)。

您只能操作文档哈希 - 即 http://domain.com/#identifier - 这是 Google、Facebook 等为 AJAX 网站提供浏览器历史记录支持的方式。

与#352343 Changing browser’s address bar without refreshing 完全相同。

更新:HTML5 现在允许pushState,但只能在同一个域内。

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    • 1970-01-01
    • 2013-01-23
    • 2016-05-01
    • 1970-01-01
    相关资源
    最近更新 更多