任何方式来更改标题URL而不重新加载?
可能重复:
修改网址而不重新加载页面
使用新的URL更新地址栏而不散列或重新加载页面
我的网站完全基于Ajax请求,并且网站内的简单导航仅从一个页面完成。 这意味着当用户点击菜单项时,它不会加载另一个页面,而是将内容加载到HTML元素中。 但是,当一个用户想要将一个页面链接到他的朋友时,它永远都是一样的,因为无论ajax如何启动,http://mysite.com/mymainpage.php将始终保持不变。 我如何修改用户头部? 例如,当他们点击“游戏”时,jquery / js / php / html可以在浏览器上更改当前的URL地址栏吗? 以便它变成http://mysite.com/mymainpage.php?games=true。 然后,用户可以从地址栏中复制网站网址,并导致正确的部分加载ajax。
你可以使用散列:
http://mysite.com/mymainpage.php
http://mysite.com/mymainpage.php#games
(这就是Gmail所要做的:https://mail.google.com/mail/#inbox,https://mail.google.com/mail/#sent)
您可以使用读取散列
window.location.hash /* gives "#games" */
要么
window.location.hash.substring(1) /* gives "games" */
你可以使用它来改变它
window.location.hash="#games"
要么
window.location.hash="games"
(它似乎有效,但更好地使用第一个选项)
然后,每次用户单击链接时,都要像现在一样更改散列并加载新页面。
当用户进入你的页面时,检查URL中是否有散列并加载该页面。
你也可以添加一个hashchange事件监听器。 见https://developer.mozilla.org/en-US/docs/Mozilla_event_reference/hashchange
编辑:
不,你不能有两个哈希(http://mysite.com/mymainpage.php#games#fashion)
因此,如果用户转到http://mysite.com/mymainpage.php?games=true,则应将其重定向到http://mysite.com/mymainpage.php#games。
然后,您可以将其更改为http://mysite.com/mymainpage.php#fashion,无需重新加载。
链接地址: http://www.djcxy.com/p/70299.html