JS对象—4.窗口对象(window)

window对象
	window,self 指向window对象本身
	所有全局变量都是window对象的属性
一.窗口信息
   1.innerHeight 浏览器窗口内容区域高度
   2.innerWidth 浏览器窗口内容区域宽度
   3.outerHeight 浏览器窗口总高度
   4.outerWidth 浏览器窗口总宽度
   5.pageXOffset 水平滚动过的像素数
   6.pageYOffset 垂直滚动过的像素数
  
二.窗口交互
   	1.blur() 窗口失去焦点(好像没卵用)
   	2.focus() 窗口获取焦点(好像没卵用)
   
   	3.open(<url>) 打开窗口
   	4.close() 关闭窗口	(有兼容性问题,谷歌浏览器只能关闭由js创建的窗口,如window.open和a标签)
   	5.stop() 停止载入文档
   	6.print() 提示用户打印
   
   	7.scrollBy(<x>, <y>) 相对当前位置滚动
   	8.scrollTo(<x>, <y>) 滚动到指定位置
   	
   	9.alert(<msg>) 提示框
   	10.confirm(<msg>)<boolean> 确认框 
  	11.prompt(<msg>,<val>)<字符串> 输入框 
三.跨文档消息传递
  1.不同源
   (1)A窗口中获取B窗口对象,发送消息至B窗口
      窗口名已存在的窗口,则不创建直接跳转
	  BWin = AWin.open(链接 [,窗口名,"",替换或新增条目布尔值]);
	  BWin.postMessage(<数据>,<接收方:协议+域名+端口>);
   (2)B窗口中监听消息事件	
	  BWin.addEventListener("message",function(e){
		  e.data <数据>
		  e.origin <发送方:协议+域名+端口>
		  e.source <发送方窗口对象>
	  },false);
  2.同源
   (1)A窗口中获取B窗口对象,B窗口对象可获取A窗口对象
	  BWin = AWin.open(<url>);
	  BWin.opener == AWin;
	  BWin.receive(<数据>); //可访问对方的属性方法
   (2)B窗口中创建对应方法
      BWin.receive = function(<数据>) { }.计时器
	1.setTimeout(<function>,<time>)<id> 超时计时器
	2.setInterval(<function>,<time>)<id> 间隔计时器
	3.clearTimeout(<id>) 撤销超时计时器
	4.clearInterval(<id>) 撤销间隔计时器
	5.requestAnimationFrame(<function>) 超时计时器,浏览器最短的间隔时间

五.编码解码
	encodeURI(urlStr)UTF-8编码
	decodeURI(urlStr) 解码encodeURI编码过的
	
	encodeURIComponent(urlStr)UTF-8编码(包含特殊符号: @#$&=:/,;?+)
	decodeURIComponent(urlStr)	解码encodeURIComponent编码过的
	
	btoa(str) 转base64编码
	atob(str) 解码base64编码
	
	escape 转Unicode编码(可用,但已废弃)
	unescape 解码Unicode编码(可用,但已废弃)```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值