Location接口表示其链接到的对象的位置(URL).所做的修改反映在与之相关的对象上。
Document和Window接口都有这样一个链接的Location,分别通过Document.location和Window.location访问。
Location对象属性
hash
设置或返回从井号(#)开始的URL(锚)。
假设当前的 URL 是: http://example.com:1234/test.htm#part2
那么console.log(location.hash)输出的是“#part2”
host
设置或返回主机名和当前URL的端口号。
假设当前的 URL 是: http://example.com:1234/test.htm#part2
那么console.log(location.host)输出的是“example.com:1234”
hostname
设置或返回当前URL的主机名。
假设当前的 URL 是: http://example.com:1234/test.htm#part2
那么console.log(location.hostname)输出的是“example.com”
href
href属性是一个可读可写的字符串,可设置或返回当前显示的文档的完整URL.
假设当前的 URL 是: http://example.com:1234/test.htm#part2
那么console.log(location.href)输出的是“http://example.com:1234/test.htm#part2”
pathname
pathname属性是一个可读可写的字符串,可设置或返回当前URL的路径部分。
假设当前的URL是: http://example.com:1234/test/test.htm#part2
那么console.log(location.pathname)输出的是“/test.test.html”
port
port属性是一个可读可写的字符串,可设置或返回当前URL的端口部分。
假设当前的URL是: http://example.com:1234/test.htm#part2
那么console.log(location.port)输出的是“1234”
protocol
protocol属性是一个可读可写的字符串,可设置或返回当前URL的协议。
假设当前的URL是: http://example.com:1234/test.htm#part2
那么console.log(location.protocol)输出的是“http:”
tip:如果输入端口号不对,输出的值是chrome-error
search
search属性是一个可读可写的字符串,可设置或返回当前URL的查询部分(问号?之后的部分)
假设当前的 URL 是: http://www.w3school.com.cn/ti…
那么console.log(location.search)输出的是“?f=hdom_loc_search”
Location对象方法
assign()
加载新的文档
reload()
重新加载当前文档
replace()
用新的文档替换当前文档
window.location.assign(url) : 加载 URL 指定的新的 HTML 文档。 就相当于一个链接,跳转到指定的url,当前页面会转为新页面内容,可以点击后退返回上一个页面。
window.location.replace(url) : 通过加载 URL 指定的文档来替换当前文档 ,这个方法是替换当前窗口页面,前后两个页面共用一个
窗口,所以是没有后退返回上一页的。即:
replace() 方法不会在 History 对象中生成一个新的记录。当使用该方法时,新的 URL 将覆盖 History 对象中的当前记录。
刷新页面的几种方法
1 history.go(0)
2 location.reload()
3 location=location
4 location.assign(location)
5 document.execCommand('Refresh')
6 window.navigate(location)
7 location.replace(location)
8 document.URL=location.href