window.location有以下属性:
window.location.href:取得当前地址栏中的完整URL,可以通过赋值改变当前地址栏中的URL;
window.location.search 取得当前URL的参数部分,即“?”后面的部分(包括问号),可以通过赋值改变URL的参数部分;
window.location.hash:取得当前URL中包含的锚记,即“#”后面的部分(包括#),可以通过赋值改变URL的锚记部分
window.location.host:取得当前URL中的主机信息,包括端口号,可以通过赋值改变主机信息;
window.location.hostname:取得当前URL中的域名部分,不包括端口号,可以通过赋值改变域名;
window.location.port:取得当前URL中的端口号,可以通过赋值改变端口号;
window.location.pathname:取得当前URL中的路径信息,即域名与参数之间的部分,可以通过赋值改变当前URL的路径;
window.location.protocol:取得当前URL的协议部分,比如http:,https:等,可以通过赋值改变URL的协议部分;
window.location有一下方法:
window.location.replace(url):用传入的URL字符串替代当前的URL,该方法会将历史记录中的URL一并替换掉,也就是说,这个方法会覆盖之前的历史记录;
window.location.reload():重新加载当前URL,相当于刷新;
window.location.assign(url):加载传入的URL,该方法不会覆盖之前的历史记录;
配置了vue-router前端路由,会直接载入.vue组件,组件内ready()部分从服务器拉数据。已经正确加载页面,尝试修改url最后一个参数(数字),希望按回车键后加载新的内容。发现要按2次回车才能正常请求。前端路由格式为/newspost/:postid,地址栏现在为:
http://localhost:8080/#!/newspost/2
将2换成3,然后按回车:
http://localhost:8080/#!/newspost/3
则页面没有变化,chrome开f12的network发现并没有发起请求。再次到地址栏按回车(不修改数字参数),则发起请求并加载内容。如果第二次也修改了url参数,那么回车后依然不发起请求。