JavaScript04: Bom浏览器对象模型


​ BOM(browser object model)浏览器对象模型,提供了独立于内容 而与浏览器窗口进行交互的对象,主要用于管理窗口与窗口之间的通讯。

一、Window对象

​ window是浏览器的一个实例,在浏览器中,window对象有双重角色,它既是通过JavaScript 访问浏览器窗口的一个接口,又是ECMAScript规定的 Global对象

1、弹出对话框
  • window.alert(“content”)

    显示带有一段消息和一个确认按钮的警告框。

  • window.confirm(“message”)

    显示一个带有指定消息和OK及取消按钮的对话框,返回 true 或 false。

  • window.prompt(“text”, “defaultText”)

    1. text:要在对话框中显示的纯文本
    2. defaultText:默认的输入文本
    3. 返回值:单击取消按钮,返回null;单击确认按钮,返回输入的文本
<div id="box">
	<span>删掉我</span>
	<input type="button" value="删除" id="btn">
</div>
<script>
	
	// 声明一个全局变量,相当于 window.age=15
	var age=15;
	// 声明一个全局方法,相当于 window.sayAge(){...}
	function sayAge(){
	  alert("I'm "+window.age);
	}
	// 相当于 window.sayAge()
	sayAge();


	var btn=document.getElementById("btn");
	btn.onclick=function(){
	   // 弹出确认对话框
	   var result=window.confirm("您确定要删除吗?删除之后该信息\n将不可恢复!");
	   if(result){
		  document.getElementById("box").style.display="none";
	   }
	}
</script>
2、窗口方法
  • window.open(pageURL, name, parameters)

    打开一个新的浏览器窗口或查找一个已命名的窗口

    1. pageURL:子窗口路径
    2. name:子窗口句柄
    3. parameters:窗口参数(各参数用逗号分隔)
  • window.close()

    关闭浏览器窗口

  • window.moveTo()

    移动当前窗口

  • window.resizeTo()

    调整当前窗口的尺寸

<button onclick="openwindow()">创建窗口</button>
<button onclick="myFunction()">调整窗口</button>
<button onclick="moveFunction()">移动窗口</button>
<button onclick="closeFunction()">关闭窗口</button>

<script type="text/javascript">
	var w;
    // 打开新窗口
	function openwindow(){
		w=window.open('','', 'width=300,height=300');
	}
    // 调整当前窗口的尺寸
	function myFunction(){
		w.resizeTo(500,500);
		w.focus();
	}
    // 移动当前窗口
	function moveFunction(){
		w.moveTo(700,500);
		w.focus();
	}

	// 关闭当前窗口
	function closeFunction(){
		w.close(700,500);
		w.focus();
	}
</script>
3、定时器
  • 超时调用

    在指定的毫秒数后调用函数或计算表达式

setTimeout(code, millisec)

  1. code:要调用的函数或要执行的JavaScript代码块
  2. millisec:在执行代码前需等待的毫秒数
  3. setTimeout() 只执行code一次
  • 清除超时调用

    取消由setTimeout() 方法设置的 timeout

cleartimeout(id_of_settimeout)

  1. id_of_settimeout:由setTimeout() 返回的ID值
  • 间歇调用

    每隔指定的时间执行一次代码

setlnterval(code, millisec)

  1. code:要调用的函数或要执行的JavaScript代码块
  2. millisec:周期调用的时间间隔,以毫秒计
// 字符代码方式
setTimeout("alert('hello')",4000);

// 一般函数方式
setTimeout(fnCall,5000);
var fnCall=function(){ alert("world"); }

// 匿名函数方式
var timeout1=setTimeout(function(){
	alert("hello");
},2000)

// 清除定时器
clearTimeout(timeout1);

// 间隔调用
var num=1, max=10, timer=null;
timer=setInterval(function(){
	console.log(num);
	num++;
 	if(num>max){
		clearInterval(timer);
	}
},1000)
4、更多

​ 参考:http://www.runoob.com/jsref/obj-window.html

二、Location 对象

​ Location对象 提供了与当前窗口中加载的文档有关的信息,还提供了一些导航的功能,它既是 window对象的属性也是 document 的属性。

1、href、hash
  • location.href

    返回当前加载页面的完整URL,与 window.location.href 等价

  • location.hash

    返回URL中的锚部分(#号后跟零或多个字符),如果不包含则返回空字符串。

<head>
	<style>
       .box1{height:400px;background:#ccc;}
       .box2{height:600px;background:#666;}
	</style>
</head>
<body>
	<div class="box1" id="top"></div>
	<div class="box2"></div>
	<input type="button" id="btn" value="返回顶部">
	<script>
       console.log(location.href);
       console.log(location.hash);
       var btn=document.getElementById("btn");
       btn.onclick=function(){
          location.hash="#top";
       }
       console.log(location.pathname);
	</script>
</body>

2、其他属性
属性描述
host返回一个URL的主机名和端口
hostname返回URL的主机名
pathname返回的URL路径名。
port返回一个URL服务器使用的端口号
portocol返回一个URL协议
search返回一个URL的查询部分
3、常用方法
方法描述
assign()载入一个新的文档
reload()重新载入当前文档
replace()用新的文档替换当前文档
4、更多

​ 参看:http://www.runoob.com/jsref/obj-location.html

三、History 对象

​ History 对象包含用户(在浏览器窗口中)访问过的 URL。

1、属性
  • length

    历史列表中的网址数

2、方法
方法描述
back()加载 history 列表中的前一个 URL
forward()加载 history 列表中的下一个 URL
go()加载 history 列表中的某个具体页面
3、更多

​ 参见:http://www.runoob.com/jsref/obj-history.html

四、Screen 对象

​ Screen 对象包含有关客户端显示屏幕的信息。

1、常用属性
属性描述
heigth返回屏幕的总高度
width返回屏幕的总宽度
availHeight返回屏幕的高度(不包括Windows任务栏等)
availWidth返回屏幕的宽度(不包括Windows任务栏等)
2、更多

​ 参考:http://www.runoob.com/jsref/obj-screen.html

五、Navigator 对象

​ Navigator 对象包含有关浏览器的信息。

1、常用属性
属性描述
userAgent返回由客户机发送服务器的user-agent 头部的值
appName返回浏览器的名称
platform返回运行浏览器的操作系统平台
2、更多

​ 参考:http://www.runoob.com/jsref/obj-navigator.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值