导航
Document是根节点
parentNode:获取父节点
childNodes:获取所有子节点
firstChild:第一个子节点
lastChild:获取最后一个子节点
BOM
概念browser object model
常用对象
Window:窗口,浏览器的窗口
我们定义的全局变量和全局函数都是window对象的属性和方法
全局变量是window的属性。
全局函数是window的方法:
Window.innerWidth
Window.innerHeight
常用的方法:
Open:打开一个新的窗口,要传三个参数;第一个为将要打开的窗口路径
第二个:打开的方式 ; 第三个为对于新打开浏览器的描述(宽,高等等)
var myWindow=window.open("https://www.baidu.com/","_blank","width=200,height=300");
//close:关闭一个窗口
myWindow.close();
//moveTo:移动一个窗口,以窗口的左上角为坐标起点
myWindow.moveTo(200,200);
//focus:使窗口获得焦点
myWindow.focus();
//resizeto:改变窗口的大小
myWindow.resizeTo(1000,1500);
screen:屏幕 也是window下面的一个对象,在使用的时候可以用window.screen
也可以省略window
屏幕的常用属性:宽,高;可用宽与可用高(可用高不包括任务栏)
**Location:**地址
**常用属性:**href完整路径 port端口号 pathname路径名
Protocol:协议
常用方法
打开一个新的路径()窗口
LOCATION.ASSIGN(“HTTP://WWW.BAIDU.COM/”);
刷新:普通刷新和强制刷新
如果传值为TRUE,那么就是强制刷新
History:历史记录
记录当前窗口的历史,可以进行页面的转换
方法:back—回到上一页
Forward—进入下一页
Go—进入确定的那一页(-1回到上一页)
History.back()
History.forward()
History.go(-1)
弹窗
Alert():警告提示框,也是window下的方法(window.alert()),window可以省略不写
Prompt(“请输入内容”,“默认值”)信息提示输入框,也是window下的方法,window也可以省略不写,当我们点击确定时,才会把值返回,否则为空
Confirm(“提示的信息”)确认框,也是window下的方法,window也可以省略不写
当点击确定的时候,返回true,如果点取消,返回false
cookie
Cookie的作用:在本地浏览器储存数据,经常用于记住账号等等
**Cookie组成:**键值对的形式
Username=asdasd pwd=123456 phone=13512633908
有效期:expires=今天以后的时间
存储cookie
按照cookie的形式写好一个字符串,然后把它赋值给document.cookie,浏览器就会缓存这个cookie,可以存储多个键值对,但是键的名字不能重复
导航
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div name="第一章">
<p id="p1">第一段<span>第一句</span><span>第二句</span></p>
</div>
<input type="button" value="获取p1父节点的name属性" onclick="fun1()">
<input type="button" value="获取p1子节点的个数" onclick="fun2()">
<input type="button" value="获第一个取p1子节点的节点类型" onclick="fun3()">
<input type="button" value="获取p1最后一个子节点的节点类型" onclick="fun4()">
</body>
<script type="text/javascript">
var p1=document.getElementById("p1");
function fun1(){
var value=p1.parentNode.getAttribute("name");
window.alert(value);
}
function fun2(){
var childs=p1.childNodes;
alert(childs,length);
}
function fun3(){
alert(p1.firstChild.nodeType)
}
function fun4(){
window.alert(p1.lastChild.nodeType);
}
</script>
</html>
window
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<input type="button" onclick="fun()" value="请点击">
<script type="text/javascript">
// var a=1;
// function test(){
// var a=2;
// alert(a);//2
// alert(window.a);//1
// }
// test();
function fun(){
var myWindow=window.open("https://wwww.baidu.com/","_blank","width=200,height");
//myWindow=close();
//以一个窗口的左上角为移动窗口的坐标
myWindow.moveTo(200,200);
//窗口获得焦点
myWindow.focus();
//改变窗口大小
myWindow.resizeTo(1000,1500);
}
</script>
</body>
</html>
location
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<input type="button" value="点击" onclick="fun()" />
</body>
<script type="text/javascript">
function fun(){
location.assign("https://wwww.baidu.com/");
}
</script>
</html>
刷新
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<input type="button" value="刷新" onclick="fun1()" />
</body>
<script type="text/javascript">
function fun1(){
location.reload();
}
</script>
</html>
弹窗
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
</body>
<script type="text/javascript">
// alert("提示的内容");
// var str=prompt("请输入内容","Hello world");//请输入内容就是提示的内容
var isRight=confirm("是否确定删除");
document.write(typeof(isRight)+"\n"+isRight);
</script>
</html>
cookie
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
</body>
<script type="text/javascript">
var d=new Date();
d.setTime(d.getTime()-(24*60*60*1000*3650*10));
expires="expires="+d.toGMTString();
document.cookie="username=";expires;
document.cookie="passwd=7355608";
document.cookie="passwgjhgfd=7355szdfsf608";
</script>
</html>
本地使用js或jquery操作cookie在谷歌浏览器chrome中不生效
新手学习js或jquery时,一般是在本地调试(前端学习一般用不到服务器端),当学习到cookie一节时,在谷歌浏览器chrome中调试居然不生效!!!不管是使用jquery的cookie插件,还是js原生态的cookie方法都不生效!!!
什么原因呢?
原因在于chrome不支持js在本地操作cookie!
据测试,除了chrome浏览器外,其他主流浏览器(ie、firefox等)都支持js在本地操作cookie。当然部署到服务器上所有浏览器都是支持的。
当然,还有另外一个原因:浏览器设置成不支持cookie。这样,调试js操作cookie当然也是不生效的。
那么,怎么知道当前浏览器不支持或Cookie已被禁用呢?可以使用以下js代码:
var dt = new Date();
dt.setSeconds(dt.getSeconds() + 60);
document.cookie = "cookietest=1; expires=" + dt.toGMTString();
var cookiesEnabled = document.cookie.indexOf("cookietest=") != -1;
if(!cookiesEnabled) {
//没有启用cookie
alert("没有启用cookie ");
} else{
//已经启用cookie
alert("已经启用cookie ");
}