不刷新页面内容,改变浏览器访问地址url

浏览器改变url

1 改变浏览器访问地址的方式

1-1 不刷新页面内容,改变浏览器访问地址url

1-1-1 query param

location.search = '?page=2';

1-1-2 hash

window.location.hash = 'www.2233.com'

如果 原地址 是 http://127.0.0.1/noliebe/template.html
运行 window.location.hash = 'www.2233com'
url地址将变为 http://127.0.0.1/noliebe/template.html#www.2233.com

创新互联是一家集网站建设,勉县企业网站建设,勉县品牌网站建设,网站定制,勉县网站建设报价,网络营销,网络优化,勉县网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

1-1-3 replaceState

window.history.replaceState(undefined, '', nU)
// 参数 nU 应该是历史记录实体的 URL. 新的 URL 跟当前的 URL 必须是同源; 否则 replaceState 抛出一个异常。

如果 原地址 是 http://127.0.0.1/noliebe/template.html
运行 window.history.replaceState(undefined, '', '/box')
url地址将变为 http://127.0.0.1/box
且不会从新地址重新加载页面,也不会留下访问记录

再举一个栗子
用户在 http://www/aaa 下点击了登录,跳转到了 http://www/login
login页面运行了 window.history.replaceState(undefined, '', '/box')
此时url地址是 http://www/box,但页面内容是 http://www/login 的内容
用户如果点击浏览器的返回按钮,url 地址将会是 http://www/aaa, 页面内容还是 http://www/login 的内容
只有主域 www 变了的时候,浏览器才会重新从超链接加载页面数据
参考 https://developer.mozilla.org/zh-CN/docs/Web/API/History/replaceState

1-1-4 pushState

window.history.pushState(undefined, '', nU)

pushState 大致同 replaceState, 但是会留下访问记录。
改一下之前的栗子
用户在 http://www/aaa 下点击了登录,跳转到了 http://www/login
login页面运行了 window.history.pushState(undefined, '', '/box')
此时url地址是 http://www/box,但页面内容是 http://www/login 的内容
用户如果点击浏览器的返回按钮,url 地址将会是 http://www/login, 页面内容还是 http://www/login 的内容
只有主域 www 变了的时候,浏览器才会重新从超链接加载页面数据
参考 https://developer.mozilla.org/en-US/docs/Web/API/History/pushState


标题名称:不刷新页面内容,改变浏览器访问地址url
文章转载:http://azwzsj.com/article/dsojjpj.html