window.location的样子
示例
URL:http://d.a.com:9000/index.html?name=ddd&when=2017#first
| 属性 | 含义 | 值 |
| protocol | 协议 | "http:" |
| hostname | 服务器的名字 | "d.a.com" |
| port | 端口 | "9000" |
| pathname | URL中主机名后的部分 | "/index.html" |
| search | "?"后的部分,又称为查询字符串 | "?name=ddd&when=2017" |
| hash | 返回"#"之后的内容 | "#first" |
| host | 等于hostname + port | "d.a.com:9000" |
| href | 当前页面的完整URL | "http://www.a.com:88/index.php?name=kang&when=2011#first" |
方法
location.assign( url )
location.assign('http://www.baidu.com'); 等同于 window.location = 'http://www.baidu.com'
这种方式会讲新地址放到浏览器历史栈中,意味着转到新页面后“后退按钮”仍可以回到该页面。
location.replace( url )
与assign方法一样,但会从浏览器历史栈中删除本页面,也就是说跳转到新页面后“后退按钮”不能回到该页面。目前IE、Chrome只是简单的跳转,只有Firefox会删除本页面的历史记录。
location.reload( force )
重新载入当前页面。force为true时从服务器端重载;false则从浏览器缓存中重载,默认值false
Window.open的参数小结(参书改编) 先看一个例子:
[javascipt:]window.open("Webpage.asp?",Derek,"height=100,width=100,status=yes,toolbar=yes, menubar=no,location=no");此语句打开一个新窗口,页面为webpage.asp,参数为var,名字为Derek,高为100,宽为100,显示状态栏和工具条,不显示菜单和地址。
具体总结的各个属性参数如下:
window = object.open([URL ][, name ][, features ][, replace]]]])
URL:新窗口的URL地址
name:新窗口的名称,可以为空
featurse:属性控制字符串,在此控制窗口的各种属性,属性之间以逗号隔开。
fullscreen= { yes/no/1/0 } 是否全屏,默认no
channelmode= { yes/no/1/0 } 是否显示频道栏,默认no
toolbar= { yes/no/1/0 } 是否显示工具条,默认no
location= { yes/no/1/0 } 是否显示地址栏,默认no
directories = { yes/no/1/0 } 是否显示转向按钮,默认no
status= { yes/no/1/0 } 是否显示窗口状态条,默认no
menubar= { yes/no/1/0 } 是否显示菜单,默认no
scrollbars= { yes/no/1/0 } 是否显示滚动条,默认yes
resizable= { yes/no/1/0 } 是否窗口可调整大小,默认no
width=number 窗口宽度(像素单位)
height=number 窗口高度(像素单位)
top=number 窗口离屏幕顶部距离(像素单位)
left=number 窗口离屏幕左边距离(像素单位)
关于本题中,第二个参数的详解:
name可以为:
_blank 表示新开一个窗口,
_parent表示父框架窗口,
_self表示覆盖该窗口,
xxx表示覆盖名字为xxx的窗口
(每个窗口都可以给他命名)
不能为省略,可以为空!
获取url中携带参数的方法
/*返回一个对象,包含url中所有参数*/const getRequest = function() {
let url = window.location.search; //获取url中"?"符后的字串
let theRequest = new Object();
if (url.indexOf("?") != -1) {
let str = url.substr(1);
if (str.indexOf("&") != -1) {
let strs = str.split("&");
for (let i = 0; i < strs.length; i++) {
theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
}
} else {
theRequest[str.split("=")[0]] = unescape(str.split("=")[1]);
}
}
return theRequest;
}/*根据要获取的参数名称,返回url中对应参数值*/
(name)=> {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
var r = decodeURIComponent(window.location.search.substr(1)).match(reg);
if (r != null) return unescape(r[2]);
return null;
}
本文详细介绍了window.location对象的属性和方法,包括如何通过这些属性获取URL信息及使用location对象进行页面跳转。此外,还讲解了window.open方法的使用,包括其参数设置和新窗口的控制。

被折叠的 条评论
为什么被折叠?



