一、Window对象
1.简介
所有的浏览器都支持window对象,它表示浏览器窗口。
所有的JS全局对象、函数、变量都自动成为window对象的成员。所以全局变量是window对象的属性,全局函数是window对象的方法。
2.要点
1)window对象本身
2)window获得浏览器尺寸
3)window提供的与浏览器有关的方法
3.示例
1)window对象和浏览器尺寸
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta content="text/css" charset="utf-8">
</head>
<body>
<p id="p1"></p>
<button οnclick="openAWindow()">打开新窗口</button>
<button οnclick="closeAWindow()">关闭当前窗口</button>
<!-- 将js代码放在body中,这样在页面加载的时候会执行js代码 -->
<script type="text/javascript">
/**
* 1.window对象
*/
window.document.getElementById("p1");
document.getElementById("p1");
/**
*2.window尺寸
*/
/**
* 1)浏览器内部尺寸
*/
//支持safari/chrome/ie9/opera/firefox
var width1 = window.innerWidth;
var height1 = window.innerHeight;
//ie8、ie7、ie6...方式一
var width2 =document.documentElement.clientWidth;
var height2= document.documentElement.clientHeight;
//ie8、ie7、ie6...方式二
var width3 = document.body.clientWidth;
var height3 = document.body.clientHeight;
//alert(width1+"*" + height1);//1280*909
</script>
</body>
</html>
2)window方法
window.open() - 打开新窗口
window.close() - 关闭当前窗口
window.moveTo() - 移动当前窗口
window.resizeTo() - 调整当前窗口的尺寸
window.open();//打开空白页
window.open("http://www.baidu.com");
二、Screen对象
1.简介
该对象可以获得用户所使用的显示器的尺寸信息。
2.作用
显示器的实际尺寸。
显示器的可用尺寸,即实际尺寸减去串口特性如任务栏等。
3.实例代码
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta content="text/css" charset="utf-8">
</head>
<body>
<script type="text/javascript">
var x1 = screen.availWidth;//电脑屏幕的可用尺寸,减去窗口特性如底部的任务栏等
var y1 = screen.availHeight;
var x2 = screen.width;
var y2 = screen.height;
document.write(x1+"*"+y1+"<br/>");//1280*994
document.write(x2+"*"+y2+"<br/>");//1280*1024
</script>
</body>
</html>
三、Location对象
1.简介
用于获取当前页面的一些内容,或重新定向到新的页面。
2.示例
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta content="text/css" charset="utf-8">
<script type="text/javascript">
function loadDoc(){
location.assign("http://www.baidu.com");//加载新的文档
}
function getUrl(){
var x1 = location.href;//返回当前页面的url
var x2 = location.pathname;//返回当前页面的路径和文件名
var x3 = location.port;//返回主机端口
var x4 = location.hostname;//返回主机域名
var x5 = location.protocol;//返回页面协议
document.write(x1+"<br/>"+x2+"<br/>"+x3+"<br/>"+x4+"<br/>"+x5);
}
</script>
</head>
<body>
<button οnclick="getUrl()">返回页面信息</button>
<button οnclick="loadDoc()">加载页面</button>
</body>
</html>
四、History对象
1.简介
该对象包含浏览器的历史,使用该对象可以实现浏览器中前进和后退的功能。
2.示例
window-04.php
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta content="text/css" charset="utf-8">
<script>
function goForward(){
history.forward();
}
</script>
</head>
<body>
<a href="http://localhost/w3c/window-05.php">window05.php</a>
<button οnclick="goForward()">前进</button>
</body>
</html>
window-05.php
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta content="text/css" charset="utf-8">
<script>
function goBack(){
history.back();
}
</script>
</head>
<body>
<a href="http://localhost/w3c/window-04.php">window04.php</a>
<button οnclick="goBack()">返回</button>
</body>
</html>
五、Navigator对象
1.简介
获取访问者的浏览器的相关信息。
2.缺点
navigator数据可以被浏览器使用者修改,浏览器无法映射晚于浏览器发布的操作系统。所以该对象最好不用于检测浏览器的版本。
如果要做浏览器的检测,可以使用相应的对象来检测浏览器的版本。不同的浏览器支持不同的对象,如chrome支持window.chrome,opera支持window.opera...
3.示例
<!DOCTYPE html>
<html>
<body>
<div id="example"></div>
<script>
//当然还有其他的浏览器识别等,这里仅列出2种
if(window.chrome){ //识别chrome浏览器,只有浏览器为chome时,才会执行
document.write("chrome");
}
if(window.opera){
document.write("opera");
}
var txt = "<p>Browser CodeName: " + navigator.appCodeName + "</p>";
txt+= "<p>Browser Name: " + navigator.appName + "</p>";
txt+= "<p>Browser Version: " + navigator.appVersion + "</p>";
txt+= "<p>Cookies Enabled: " + navigator.cookieEnabled + "</p>";
txt+= "<p>Platform: " + navigator.platform + "</p>";
txt+= "<p>User-agent header: " + navigator.userAgent + "</p>";
txt+= "<p>User-agent language: " + navigator.systemLanguage + "</p>";
document.getElementById("example").innerHTML=txt;
</script>
</body>
</html>
执行效果
六、PopupAlert对象
1.简介
包含三种对话框:警告框(alert)、确认框(confirm)、提示框(prompt)
警告框:只有点击了确认才能继续操作。
确认框:用于验证和接受某些消息,确认就继续,取消不操作。
提示框:进入对话框页面输入信息,确认就继续,取消不操作。
2.示例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<script>
function dialog1(){
alert("警告对话框");
}
function dialog2(){
confirm("是否确认?");
}
function dialog3(){
prompt("提示输入信息");
}
</script>
</head>
<body>
<button onClick="dialog1()">警告对话框</button>
<button onClick="dialog2()">确认对话框</button>
<button onClick="dialog3()">提示对话框</button>
</body>
</html>
七、Timing对象
1.简介
可以实现计时事件,在一段时间后执行某段代码。
2.示例
<html>
<head>
<script type="text/javascript">
var c=0
var t
function timedCount()
{
document.getElementById('txt').value=c
c=c+1
t=setTimeout("timedCount()",1000)
}
function stopCount()
{
clearTimeout(t)
}
</script>
</head>
<body>
<form>
<input type="button" value="Start count!" onClick="timedCount()">
<input type="text" id="txt">
<input type="button" value="Stop count!" onClick="stopCount()">
</form>
</body>
</html>
八、Cookie对象
1.简介
cookie用来识别用户。
cookie是存储在访问者计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个cookie。你可以通过js创建和取回。
2.示例
<html>
<head>
<meta charset="UTF-8">
<script type="text/javascript">
//获得cookie信息
function getCookie(c_name) {
if (document.cookie.length > 0) {
var c_start = document.cookie.indexOf(c_name + "=");
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
var c_end = document.cookie.indexOf(";", c_start);
if (c_end == -1) {
c_end = document.cookie.length;
}
//将解码的字符串返回
// return unescape(document.cookie.substring(c_start, c_end));
return decodeURIComponent(document.cookie.substring(c_start, c_end));
}
}
return ""
}
//设置cookie格式,保存cookie信息
//cookie格式为:username=xxx;expires=xxx
function setCookie(c_name, value, expiredays) {
var exdate = new Date();//获得当前日期
exdate.setDate(exdate.getDate() + expiredays);//将日期对象设置为cookie失效的时间
//escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。
// document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());
document.cookie = c_name + "=" + decodeURI(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());
}
function checkCookie() {
var username = getCookie('username');
if (username != null && username != "") {
alert('Welcome again ' + username + '!');
} else {
username = prompt('Please enter your name:', "");
if (username != null && username != "") {
setCookie('username', username, 365);
}
}
}
</script>
</head>
<body onLoad="checkCookie()">
</body>
</html>