Location对象

location对象是Obejct的一个实例,包含以下 几个方法和属性

1window对象和Document对象的location属性是引用到Location对象

未命名

2.location对象的属性(都会进行转码)

属性 描述
hash 从”#”号开始的url
host 主机名和当前url的端口号
hostname 当前url的主机名
href 完整的url
pathname 当前url的路径部分
port 当前url的端口号
protocal 当前url的协议
search 从“?”开始的url(查询部分)

3.location对象的方法

a.location.reload(true||false)  可选参数,默认为false,从客户端缓存里取当前页,true,则以get方式,从服务端取最新的页面,相当于客户端点击F5

b.location.replace(url)该方法通过指定url替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后退”来访问已经被替换的url

   在实际应用的时候,重新刷新页面的时候,我们通常使用: location.reload() 或者是 history.go(0) 来做。因为这种做法就像是客户端点F5刷新页面,所以页面的method="post"的时候,会出现“网页过期”的提示。那是因为Session的安全保护机制。可以想到: 当调用 location.reload() 方法的时候, aspx页面此时在服务端内存里已经存在, 因此必定是 IsPostback 的。如果有这种应用: 我们需要重新加载该页面,也就是说我们期望页面能够在服务端重新被创建, 我们期望是 Not IsPostback 的。这里,location.replace() 就可以完成此任务。被replace的页面每次都在服务端重新生成。你可以这么写: location.replace(location.href)

c.location.assign(url)设置当前文档的url,会产生浏览历史记录,相当于location.href= “ 指定值 " || location = ‘指定值 '

d.location.toString()把当前url转换成字符串

e.location=纯粹的片段标识符是相对URL的一种类型,它不会让浏览器载入新文档,但只会使它流动到文档的某个位置,#top标识符是个特殊的例子,如果文档中没有元素的ID是“top “,它会让浏览器跳到文档开始外

  location = ‘#top’

f.location对象的URL分解属性是可写的,对它们重新赋值会改变URL的位置,并且导致浏览器载入一个新的文档(如果改变的是hash属性,则在当前文档中进行跳转)

  location.search = “?page=” + ‘pagenum + 1); //载入下一个页面

4.提取url的搜索字符串的参数http://jsbin.com/asOSAJi/1/edit?js,console,output

    (百度的字符串会报错,是因为是gbk引起的)

原文地址:https://www.cnblogs.com/fsy0718/p/3291155.html