JavaScript红宝书之BOM


BOM浏览器对象模型,提供了独立于内容、可以与浏览器窗口进行互动的对象结构。使用BOM可以进行刷新浏览器、后退、前进、在浏览器中输入URL…
往往不同的浏览器会有不同的API,需要再确定和做适配。

window对象

是使用js开发web应用的核心。BOM的核心是Window对象,该对象双重身份

  • ECMAScript中的Global对象
  • 浏览器窗口的JavaScript接口

窗口位置与像素比

DOM元素尺寸:offsetWidth、clientWidth、scrollWidth

moveTo(位置);
moveBy(左右,上下);
window.resizeTo(7,8);
window.resizeBy(300,300)

实际运行结果依据浏览器,以上方法很有可能被部分或全部禁用。
坐标
clientX:在水平方向上,鼠标指针距离浏览器左侧边缘的距离。
pageX:在水平方向上,鼠标指针距离网页文档X轴左侧边缘的距离。
offsetX:在水平方向上,鼠标指针距离鼠标所在元素左侧边缘的距离。
screenX:在水平方向上,鼠标指针距离电脑屏幕左侧边缘的距离。

pageX:页面坐标,整个页面来说,包括了被卷去的body部分的长度
clientX:客户端坐标,距离当前body可视区域的x,y坐标
X/screenX:屏幕坐标,点击位置距离当前电脑屏幕的x,y坐标
offsetX:相对于带有定位的父盒子的x,y坐标

页面没有滚动的时候
pageX==clientX

滚动
在这两个方法在JavaScript上,浏览器一般都禁用

window.ScrollBy(0,300)
window.scrollTo(70,480);

系统对话框
同步的模态对话框,即在他们显示的时候,代码会停止执行


alert();
confirm(“向用户提问”);//用户选择决定返回值yes
prompt(“提示输入的信息”,“输入框的初始值”);//用户行为决定返回值

异步的对话框:不会返回用户在对话框中的操作信息,对话框计数器不会涉及他们

window.print();
window.find();

?可以模拟用户点击对话框事件吗?


导航与打开新窗口

函数返回一个新建的window对象,可以保存对象对其操作,且该对象有一个opener属性,指向他的打开者

浏览器可能会对弹窗加以限制,现在所有的浏览器都内置了屏蔽弹窗的程序。屏蔽时返回null

window.open("URL","frameName",特性字符串,布尔值);//当frame是旧的时,忽略后面参数对视口大小、工具栏、状态栏、地址栏等的配置
//等同于点击以下超链接
<a href="URL",target="frameName" />

"frameName"窗口或窗格的名字,不存在就新建

特殊值:_self、_parent、_top、_blank

窗口 windows 指的是浏览器窗体;标签页 tabs 指的是 window 窗体内的各个网页标签;一个标签内部的 iframe/top frame 等,称之为frames。

frames

html文件A、B A通过iframe嵌入B

如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 window 对象,并为每个框架创建一个额外的 window 对象。

对应框架元素也有contentDocument属性和contentWindow属性

window.frames 返回窗口中所有命名的框架
parent是父窗口&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值