2013-9-10(js-javascript获取或者设置当前的URL)
JavaScript Location 对象:获取或设置当前的 URL 信息
Location 对象
JavaScript Location 对象用于获取或设置当前的 URL 信息。Location 对象是 window 对象的一部分,可通过 window.location 属性对其进行访问。
Location 对象常用于得到 URL 地址中的信息,或者刷新当前页面,页面重定向等,具体可见下面列出的各属性和方法。
Location 对象属性
属性 | 描述 |
---|---|
location.hash | 设置或取得 URL 中的锚 |
location.host | 设置或取得 URL 中主机(包括端口号) |
location.hostname | 设置或取得 URL 中的主机名 |
location.href | 设置或取得完整 URL(页面重定向应用) |
location.pathname | 设置或取得 URL 中的路径 |
location.port | 设置或取得 URL 中的端口号 |
location.protocol | 设置或取得 URL 使用的协议 |
location.search | 设置或取得 URL 中的查询字串(一般是 ? 符号后面的内容) |
页面跳转:location.href与location与window.location一样的效果还有一个window.location.assign()
Location 对象方法
History 对象有如下 3 个方法:
-
location.assign():加载新页面文档(与location.href()相似)
-
location.reload():重新加载(刷新)当前页面
-
location.replace():用新的文档替代当前文档
location.reload():如果该方法参数为 false 或者省略参数,它就会用 HTTP 头 If-Modified-Since 来检测服务器上的文档是否已改变。如果文档已改变,location.reload() 会再次下载该文档。如果文档未改变,则该方法将从缓存中装载文档。如果要强制刷新当前页面,请将参数设置为 true。
location.replace() 与 location.reload() 的区别
location.reload() 方法用于刷新当前页面,如果有 POST 数据提交,则会重新提交数据;location.reload() 则将新的页面以替换当前页面,它是从服务器端重新获取新的页面,不会读取客户端缓存且新的 URL 将覆盖 History 对象中的当前纪录(不可通过后退按钮返回原先的页面)。
如果想要刷新当前的页面,又避免 POST 数据提交,可以使用:
window.location.replace( location.href );