您的位置:首页 > Web前端 > JavaScript

JS基础知识梳理---location()对象

2015-10-17 11:32 746 查看
(一) 简介

location对象是一个较为特别的对象,既是window对象的属性也是document对象的属性。location对象的用处不仅仅表现在保存着当前文档的信息,还能将URL解析成独立的片段。

location.port;//返回当前服务器的端口号,如果不存在,返回空值
location.hostname;//仅仅返回服务器名称
location.host;//返回服务器的名称还有端口号(如果存在的话)
location.href;//返回当前页面的完整地址==location.toString()
location.pathname;//返回URL中的目录和文件名称
location.protocol;//返回当前页使用的协议类型。http||https
location.search;//返回URL的查询字符串,以问好开头


(二) 方法

1:使用assign(strUrl);立即打开新的strUrl,并在浏览器中生成一条记录。如果将location.href 或者 window.location设置成strUrl,也会调用assign()方法

location.assign("http://www.uncle-yang.com");
//等价于↓↓↓↓
window.location = "http://www.uncle-yang.com";
//等价于↓↓↓↓
location.href = "http://www.uncle-yang.com";


2:修改location对象的属性也可以改变当前加载的页面

//假设初始URL为 http://www.uncle-yang.com/demo 
//将URL修改为 http://www.uncle-yang.com/demo/#sectionA location.hash = "#sectionA";

//将URL修改为 http://www.uncle-yang.com/?q=name location.search = "?q=name";

//将URL修改为 http://www.baidu.com/demo location.hostname = 'www.baidu/com';

//将URL修改为 http://www.uncle-yang.com/index location.pathname = 'index';

//将URL修改为 http://www.uncle-yang.com:8080/index location.port = '8080';


每次修改location的属性(hash除外),页面都会以新得URL重新加载

3:当通过上述的任何一种方式修改URL的时候,浏览器历史记录中就会产生一条新的记录,用户可以通过点击“后退”导航的前一个页面。要禁止这种行为,可以使用replace(strURL)方法。只接受一个要打开的URL字符串,浏览器的位置会变,但是不再能回到前一个页面。

4:当前页面重新加载。reload(boole);如果页面自上次请求没有改变过,那么会直接从缓存中读取数据。如果强制从服务器重新加载,那么就需要传递参数true;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: