欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JS BOM对象

程序员文章站 2022-03-19 15:00:52
...

什么事BOM对象?

Browserr Object Model:浏览器对象模型。通过JS访问浏览器的一个接口,也是ECMAScript规定的Global对象。其目的是访问浏览器。主要包括以下几种:window,navigator,screen,history,location,document,event

全局变量与全局函数?

全局变量:var age=15;   等价于    window.age=15

全局函数:  window.函数名=function( ){}

                   调用:window.函数名()             等价于     function  函数名( ){  }

所有的全局变量和全局函数都在window对象上

1 window对象

<1>对话框方法:

window.alert("content")        显示内容和一个确认按钮的警告框
window.confirm("message")      显示信息和ok,取消两个按钮的对话框,点击ok,返回true,点击取消,返回false

例如:获取信息,若获取到将其隐藏

var btn=document.getElementById("btn");
btn.onclick=function(){
var result=window.confirm("message");
if(result)
document.getElementById("box").style.display="none";
}
window.prompt("text,defaultText")
用户可以进行输入的对话框
在对话框中显示纯文本,defaultText是默认的文本。
点击确认,返回输入字段当前显示的文本
点击取消,返回null

<2> 窗口的关闭与打开方法

window.open(pageurl,name,parameters)
打开新的浏览器窗口或者是已经命名的窗口
pageurl: 子窗口的路径
name:子窗口的名称
parameters: 子窗口的参数(width,height,left,各参数之间用逗号隔开)
例如:打开新窗口
<body>
<script>
window.onload=function(){
window.open("路径","新名字","参数");
}
</script>
</body>
window.close()  关闭浏览器的窗口

例如:关闭浏览器窗口

<input type="button" value="退出" id="quit">
<script>
var quit=document.getElementById("quit");
quit.onclick=function(){
window.close();
}
</script>

<3> 定时器方法

超时调用

setTimeout(code,millisec)
经过指定毫秒数后执行调用函数或计算表达式
code:要调用的函数或者是JS代码
millisec:执行代码前要等待的毫秒数
该方法只执行一次,如需多次调用,可以让code调用自身即可
该方法返回一个ID值,可以通过这个ID值返回超时调用

例如:

<script>
window.setTimeout("alert(hello)",1000);
//警告框hello延时1秒出现
</script>

清除超时调用

clearTimeout(id-of-setTimeout)
取消使用超时调用方法返回的值
id-of-setTimeout:返回的ID值。标识要取消的延迟代码执行块

例如:

var timeout1=setTimeout();
clearTimeout(timeout1);

间歇超时调用

setInterval(code,millisec)
每隔指定时间执行代码块
millisec:时间间隔

清除调用

clearsetInterval(id-of-setInterval)

实例应用:

<script>
var number=1,max=10,timer=null;
var timer=setInterval(function(){
number++;
if(number>max)
clearInterval(timer);
console.log(number);
},1000)
</script>
<script>
var number=1,max=10,timer=null;
function incree(){
conlose.log(number);
number++;
var timer=setTimerout(incree,1000);
if(timer<=max)
{
setTimeout(incree,1000);
}
else{
cleraTimeout("timer");
}

}

</script>

2.location对象

<1> 提供与当前窗口加载的文档有关的信息,也可以提供导航功能,既是document对象的属性,也是window对象的属性

location.href
返回当前加载页面的完整url
与window.location.href等价
location.hash
返回url中的hash(#后跟的0个或多个字符),不包含返回空字符串
可以获取,也可以设置

<div class="box1" id="top"></div>
<script>
var btn=document.getElementById("top");
btn.onclick=function(){
location.hash="#top";  //找到id="top"的位置并且页面跳转到该位置
}
</script>
location.host    服务器名称和端口号
location.hostname    返回不带端口号的服务器名称
location.pathname    返回url的文件名或路径
location.port     url中指定的端口号,没有则返回空
location.protocol   页面使用的协议
location.search     url查询字符串,该字符串一?开头,没有则返回null

<2> 位置操作

location.href  跳转到某个页面
如:
location.href="index1.html"  // 跳转到index1.html这个页面上,相当于 window.location="index1.html";
跳转到某个页面上,我们的浏览器会出现相应的浏览记录。
location.replace(url)  重新定向url,不会在浏览记录中出现历史纪录,即点击返回按钮,页面不会跳转回到上一次的页面
location.reload() 重新加载当前显示的页面,有参数,从缓存中加载,无参数,从服务器加载
习惯上将这种操作放在所有代码的最后面
如:
<body>
<input type="button" id="reload" value="刷新">
<script>
document.getElementById("reload").onclick=function(){
location.reload();

}
</script>
</body>

3 history对象

功能:保存用户的上网记录

<1> 

history.back()  //返回到上一布
等价于history.go(-1)

如:
<script>
var btn=document.getElementById("btn");
btn.onclick=function(){
history.back();
}
</script>

<2>

history.forward()  //跳转到下一个页面
等价于  history.go(1)

<3>history.go(-n)    返回到前n步

<4>history.go(n)     返回到后n步

4. screen对象

功能:客户端显示屏幕的各种信息

<1>

screen.availWidth    //返回屏幕的宽度 
window.innerWidth    //返回窗口的宽度

<2>

screen.availHeight     //返回屏幕的高度 
window.innerHeight     //返回窗口的高度

5. navigator对象

功能:用户浏览器及操作系统的信息

userAgent  , //识别浏览器的名称,版本,引擎以及操作系统等信息的内容

<script>
var explorer=navigator.userAgent;
</script>
.indexof( ) 返回某个指定的字符串值在字符串中首次出现的位置,未出现过返回-1.






相关标签: window