涉及浏览器
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是父窗口&