关于location对象的简单理解:
1.location对象中涵盖了当前页面(本页面)或者更直接的说,是当前加载的这个html文档的url信息
2.location对象作为window对象的一个属性,可以通过window.location老访问
下面顺便介绍一些URL(资源定位符)的相关信息吧:
在浏览器中URL通常由下面几个部分组成的:
[协议][host][path][query]
协议:常见的协议有:
http:// 表示资源文件在web服务器上
ftp://表示资源文件在网络上的ftp服务器中
host:主机名以及端口号,例如本机tomcat常用的host:localhost:8080
path:项目的路径信息,一般是由“/”以及字符组成的,"/"为上下级关系
query:一般是以“?”开头的,后面加上一些歌键值对(key=value)的形势,多个键值对时用“&”隔开,可用于动态网页,传参数至服务器端,用于后台有关操作,查询数据库条件等等,提交表格数据等等,都可以放在这里提交,涉及安全性的东西需要另外搞定加密或者通过其他方式。。。。
query的后面还可以添加以“#”号开头的参数,但是目前没用到这个东西,暂时不随便发表言论
location对象属性:
1.href属性:当前页面的完整url信息,包括协议,主机名,端口号,查询参数,#信息等等等,完整的都包含了
2.host属性:主机名称和端口号,比如localhost:8080本机
3.hostname:主机名
4.port:url中的端口号
5.pathname:url中的路径内容包含“/”的那部分内容
6.protocol:协议
7.serach:以“?”开始的query部分内容
8.hash:以“#”开始的内容
location常见的用法
很显然,除了可以给开发者提供便捷的属性信息以外,还有一个更加重要和常用的用途
重新加载页面,可以用来刷新文档内容,但是更加重要的用途是,修改href信息之后,重新加载文档内容
location.href:在赋值之后,浏览器会根据这个指定的全新的url,刷新文档的内容
location.reload():重新加载文档
协助我们解决页面跨域的问题:
1.刷新当前的页面
window.location.href =url//我习惯使用这个方法
self.location.href =url
location.href =url
上述三个方法都可用来刷新当前页面(根据指定的url重新加载,可以是另一个全新的文档,替换当前文档)
2.父页面中使用iframe包含了子页面时
父页面刷新子页面:
window.frames["id"].location.reload()//id为页面中iframe的id
3.子页面刷新父页面
parant.location.reload()
self.opener.location.reload()
方法有很多,随着以后的实际使用继续总结!!!!
其他常见方法:
location.replace() //使用新文档替换当前文档
location.assign() //加载新文档