马冲的博客

导航

BOM

BOM

1.什么是BOM--------Brower Object Model  浏览器对象模型

2.Why study? JS的语法中没有输入和输出等任何操作,使JS(人)能够操作浏览器(房子)   行为就位于JS内部但是调用浏览器行为介质(房子名).这个介质就是既位于   JS中又位于浏览器中的Global对象Gloal对象在浏览器中的实现就是window对象(房子名)

3.学习BOM就是学习window对象

 

window的子对象属性:

document  文档对象  DOM

frames  框架集对象

history  浏览器历史对象

location  浏览器位置信息对象

navigator  浏览器信息对象

screen  浏览器屏幕对象

window中的关系属性:

parent  表示当前页的上一级页面的window对象

self  表示当前页面的window对象

this  表示当前页面的window对象

top  表示当前页的顶级页面的window对象

opener  表示打开当前页的页面的window对象

frames  框架集对象

//查找left.html的页面的window对象

//alert(window.frames[1].location.href);

//alert(window.frames['topFrame'].location.href);

//查找left.html的页面的window对象

//alert(frames[1].location.href);

//alert(frames['topFrame'].location.href);

//查找left.html的页面的window对象

//alert(this.frames[1].location.href);

//alert(this.frames['topFrame'].location.href);

//查找left.html的页面的window对象

//alert(self.frames[1].location.href);

//alert(self.frames['topFrame'].location.href);

//在顶级页面中还可以使用parent和top代表当前页面的window

//alert(parent.frames[1].location.href);

//alert(parent.frames['topFrame'].location.href);

//alert(top.frames[1].location.href);

//alert(top.frames['topFrame'].location.href);

 

注意:1.以上所有的操作必须在框架集页面的window.onload事件执行之内.!

 2.不要在chrome浏览器中试验

screen 屏幕对象   availWidth: 获取当前屏幕的水平分辨率//screen.availWidth

   availHeight: 获取当前屏幕的垂直分辨率//screen.availHeight

window对象的其他属性和方法

窗口位置属性

screenLeft  表示当前浏览器相对于屏幕水平坐标//window.screenLeft(非火狐浏览器)

screenTop  表示当前浏览器相对于屏幕垂直坐标//window.screenTop(非火狐浏览器)

 

screenX 表示当前浏览器相对于屏幕水平坐标//window.screenX(火狐浏览器)

screenY表示当前浏览器相对于屏幕垂直坐标//window.screenY(火狐浏览器)

窗口大小属性、;

innerWidth:  表示当前窗口宽度(视窗)//window.innerWidth(非IE浏览器)

innerHeight:  表示当前窗口高度(视窗)//window.innerHeight (非IE浏览器)

//在IE的标准模式下(有 <!doctype html>)

document.documentElement.clientWidth 表示当前视窗的宽度

document.documentElement.clientHeight表示当前视窗的高度

//alert(document.documentElement.clientWidth);//1362

//alert(document.documentElement.clientHeight);//584

//在IE的怪异模式下(无 <!doctype html>  注意 必须有body标签)

document.body.clientWidth 表示当前视窗的宽度

document.body.clientHeight表示当前视窗的宽度

//alert(document.body.clientWidth);//1345

//alert(document.body.clientHeight);//584

窗口位置调整方法 moveTo(x,y)  将当前窗口移到指定位置//moveTo(100,100);   只对IE管用

   moveBy(长度,长度) 将浏览器窗口在当前的位置移动指定的长度 只对IE管用

   长度数 表示向或者向移动,负数表示向或者向移动//moveBy(-30,-30);

窗口大小调整方法

resizeTo(宽度,高度)  将当前页面调整到指定的大小//resizeTo(30,200);

resizeBy(长度,长度)  将当前页面在当前大小基础上进行调整

长度:数表示增大数表示减小//resizeBy(100,300);

屏幕焦点方法

blur()  失去焦点的方法

focus() 获取焦点的方法

<button onclick="jd()">失去焦点</button>

function jd(){

//失去焦点

blur();

//定时3秒钟后自动获取焦点

setTimeout(function(){

focus();

},3000);

}

定时执行和循环执行方法

setTimeout()  定时执行方法

格式:变量=setTimeout(回调函数,时间)

回调函数可以使用三种方式

1.匿名函数 var test=setTimeout(function(){alert(11111111111111);},1000);

2.声明函数名 var test1=setTimeout(tan,5000); function tan(){alert(22222222222222);}

3.声明函数调用的字符串方式

var test2=setTimeout(tann(),5000); function tann(){alert(22222222222222);}

clearTimeout()  清除定时执行的方法

格式:clearTimeout(定时执行的变量)

<button onclick="stopds()">停止定时</button>

// 声明停止定时的方法

function stopds(){

clearTimeout(test1);

}

setInterval()  循环执行方法  只对google管用

格式:变量=setInterval(回调函数,时间)

回调函数可以使用三种方式

1匿名函数var test=setInterval(function(){  document.write('123');  },1000);//推荐

2声明函数名

3声明函数调用的字符串方式

clearInterval();  清除循环执行的方法

格式: clearInterval(循环执行的变量)

<button onclick="stopxh()">停止循环</button>

<div id="content"></div>

 

var num=1;

var xhtest=setInterval(function(){

content.innerHTML+=num+'-';

num++;

},1);

 

function stopxh(){

clearInterval(xhtest);

}

 

新窗体的操作:

open()  打开一个新的页面

格式: open(URL地址,打开方式,页面设定,是否替换当前页面)

var newpage=open('2.html','_blank','width=400,height=400,resizable=no,left=200,top=200');

 

参数名称

类型

说明

height

Number

设置窗体的高度,不能小于100

left

Number

说明创建窗体的左坐标,不能为负值

location

Boolean

窗体是否显示地址栏,默认值为no

resizable

Boolean

窗体是否允许通过拖动边线调整大小,默认值为no

scrollbars

Boolean

窗体中内部超出窗口可视范围时是否允许拖动,默认值为no

toolbar

Boolean

窗体是否显示工具栏,默认值为no

top

Number

说明创建窗体的上坐标,不能为负值

status

Boolean

窗体是否显示状态栏,默认值为no

width

Number

创建窗体的宽度,不能小于100

 

close() 关闭页面的方法  注意:没有关系的2个页面是不能关闭对方页面的

closed 用于检测浏览器页面状态的属性

//设置10秒后关闭子页面

setTimeout(function(){

//检测子页面是否被关闭

if(newpage.closed){

alert('newpage is colosed');

}else{

//关闭打开的子页面

newpage.close();

}

},10000);

-----------------------------------------------------------------------------------------

<!doctype html>

<script>

//感知打开当前页面的页面 IE关闭所有页面后测试

//alert(window.opener.location.href);

 

//打开此页面时,关闭打开此页面的页面

window.opener.close();

</script>

 

1.系统弹窗方法()

alert()   系统警告弹窗 格式:alert(字符串) 返回值:无

confirm()  系统确认弹窗 格式:confirm(提示的字符串) 返回值:有布尔值

prompt() 系统输入弹窗 格式:prompt(提示使用的字符串,默认值); 返回值: 输入的内容

 

2.History子对象  浏览器历史对象

length 用于记录当前对象中记录的历史访问页面个数

 

go()   任意页面移动 格式:history.go(整数--正[向前]--负[向后])

back() 上一个页面移 格式:history.back()

forward()  向下一个页面移动 格式:history.forward()

 

3.Location子对象   浏览器位置信息对象

href 表示当前浏览器的地址  可以获取地址也可跳转页面

host  表示当前地址的域名部分  本地协议访问无值

hostname  表示当前地址的域名部分 不包含端口

port   端口

protocol  表示当前页面访问的协议

pathname  url的路径部分

 

assign()  页面跳转 效果和设置href值一致 格式:location.assign(URL地址)

replace()  页面替换操作  效果类似于assign 格式:location.replace(URL地址)

该方法和assign的区别在于 assign会产生一条历史记录而该方法不会

reload()  重新加载页面 格式:location.reload([布尔值])

如果不使用参数true 表示刷新操作相当于F5

如果使用参数true 表示强制刷新操作 相当于ctrl+F5

 

4.Navigator  浏览器信息对象

geolocation   浏览器定位对象 HTML5新增

onLine 检测当前浏览器是否能上网

product   产品内核

platform   系统平台

 

posted on 2018-11-06 23:42  马冲的博客  阅读(171)  评论(0编辑  收藏  举报