楔子:
1、BOM 编程中,window对象是顶级对象,代表浏览器窗口。
2、window 有 open 和 close 方法,可以开启窗口和关闭窗口。
一、open 与 close:
代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>BOM编程-open和close</title>
</head>
<body>
<!-- 也可以open本地的html文件 -->
<!-- 默认是新窗口 -->
<input type="button" value="开启百度(新窗口)" onclick="window.open('http://www.baidu.com');" />
<input type="button" value="开启百度(当前窗口)" onclick="window.open('http://www.baidu.com', '_self');" />
<input type="button" value="开启百度(新窗口)" onclick="window.open('http://www.baidu.com', '_blank');" />
<input type="button" value="开启百度(父窗口)" onclick="window.open('http://www.baidu.com', '_parent');" />
<input type="button" value="开启百度(顶级窗口)" onclick="window.open('http://www.baidu.com', '_top');" />
<input type="button" value="关闭当前窗口" onclick="window.close();" />
</body>
</html>
二、弹出消息框和确认框:
代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>弹出消息框和确认框</title>
</head>
<body>
<script type="text/javascript">
function del(){
if(window.confirm("亲,确认删除数据吗?")){
alert("delete data ....");
}
}
</script>
<input type="button" value="弹出消息框" onclick="window.alert('消息框!')" />
<!--删除操作的时候都要提前先得到用户的确认。-->
<input type="button" value="弹出确认框(删除)" onclick="del();" />
</body>
</html>
三、将窗口设置为顶级窗口:
顶级窗口的html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>顶级窗口</title>
</head>
<body>
<!-- 子窗口为咱们自己写的本地html文件 -->
<iframe src="015.html"></iframe>
</body>
</html>
子窗口的html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>子窗口</title>
</head>
<body>
<script type="text/javascript">
//将此窗口设置为顶级窗口
function jump(){
if(window.top != window.self){
window.top.location = window.self.location;
}
}
</script>
<br />
<!-- 点击按钮,执行jump()函数 -->
<input type="button" value="跳转为顶级窗口" onclick="jump()" />
</body>
</html>
四、history 对象:
最初的html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>最初的页面</title>
</head>
<body>
<a href="001.html">跳转到有后退按钮的页面</a>
<!-- 前进代码: -->
<input type="button" value="前进" onclick="window.history.go(1)"/>
</body>
</html>
跳转后的html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>跳转后的页面</title>
</head>
<body>
<!-- 让页面倒退的两种代码: -->
<input type="button" value="后退" onclick="window.history.go(-1)"/>
<input type="button" value="后退" onclick="window.history.back()"/>
</body>
</html>
五、设置浏览器地址栏上的URL:
总结,有哪些方法可以通过浏览器往服务器发请求?
1、表单form的提交。
2、超链接。<a href="http://localhost:8080/oa/save?username=zhangsan&password=123">用户只能点击这个超链接</a>
3、document.location
4、window.location
5、window.open("url")
6、直接在浏览器地址栏上输入URL,然后回车(这个也可以手动输入,提交数据也可以成为动态的)。
以上所有的请求方式均可以携带数据给服务器,只有通过表单提交的数据才是动态的。
代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>设置浏览器地址栏上的URL</title>
</head>
<body>
<script type="text/javascript">
function goBaidu(){
/*
第一种写法
window.location.href = "http://www.baidu.com";
*/
/*
第二种写法
window.location = "http://www.baidu.com";
*/
/*
第三种写法
document.location.href = "http://www.baidu.com";
*/
// 第四种写法:
document.location = "http://www.baidu.com";
}
</script>
<input type="button" value="百度1" onclick="goBaidu();"/>
<!-- 第五种写法 -->
<input type="button" value="百度2" onclick="window.open('http://www.baidu.com');" />
</body>
</html>