我正在为一个项目建造一系列基本手风琴.
我们希望它们具有静态的可链接页面.因此,我们也为每个开放状态创建了不同的页面.
例如,
/ whoweare是主要的滑块.
但我们有一个子滑块位于/ whoweare/whatwedo
我想要做的是,当用户点击/ whoweare上的标题时,滑块打开,并且url栏更新为/ whoweare/whatwedo,但没有实际的重定向.网址的位置应该只是改变,仅此而已.
我试过用了
window.location.replace($(this).attr('href')); return false;
但这似乎没有完成我想要的,它仍然重新加载到一个新的页面.
还有其他建议吗?
您无法在不重定向的情况下更改网址 - 这是网络钓鱼的噩梦(例如,在留在网络钓鱼网站时将网址更改为银行的网址).
您只能操纵文档哈希 - 即http://domain.com/#identifier--这是Google,Facebook等为AJAX网站提供浏览器历史记录支持的方式.
#352343的完全重复更改浏览器的地址栏而不刷新.
更新: HTML5现在允许pushState
,但仅在同一个域内.