day002
1、BOM:Browser Object Model
浏览器对象模型,专门用于操作浏览器的
2、window对象
- 代替全局对象global:保存着全局变量和全局函数
- 指代当前窗口本身
属性:专门获取大小
- 获取浏览器的完整的大小:outerWidth/outerHeight
- 获取浏览器的文档显示区域的大小:innerWidth/innerHeight
- 获取屏幕的完整的大小,跟window没关系:screen.width/height
方法:
- 打开链接的新方式:
1. 当前窗口打开,可以后退
open("url","_self");
2、当前窗口打开,禁止后退,使用场景:比如电商网站,结账后禁止后退
history:当前【窗口的历史记录】
location:当前【窗口的正在打开的url】
location.replace("新url");//叫做替换,不叫作跳转
3、新窗口打开,可以打开多个
open("url","_blank")
4、新窗口打开,只能打开一个,使用场景:比如电商网站,只允许用户打开一个结账界面
open("url","自定义一个name");
a标签的其他用途:
1、跳转
2、锚点
3、下载:<a href="xx.exe/rar/zip/7z...">内容</a>
4、打开图片和txt文件:<a href="xx.图片的后缀/txt">内容</a>
5、直接书写JS - 不需要绑定点击事件:<a href="javascript:js代码;">内容</a>
- 打开新窗口/新连接:
var newW=open("url","target","width=?,height=?,left=?,top=?");
特殊:
1、如果你没有传入第三个参数,那么窗口回合浏览器融为一体,浏览器有多大,窗口就有多大
2、如果你传入第三个参数,那么窗口回合浏览器分离开,独立存在
3、可以拿个变量接住这个窗口,以后用于做其他操作
- 关闭窗口:
window/newW.close()
- 改变新窗口的大小:
newW.resizeTo(新宽,新高)
- 改变新窗口的位置:
newW.moveTo(新X,新Y)
- window提供的三个框:
警告框:alert("警告文字");
输入框:var user=prompt("提示文字");
确认框:var bool=confirm("提示文字");
- 定时器也是window的
- window的专属事件:
1、window.onload事件
// load:加载:等待其他所有的资源加载完毕后才会执行的代码,放在里面的代码其实是要最后才会执行
// 只要把js放在HTML的后面,就不需要此操作
2、window.onresize事件
// 窗口如果大小发生了变化,就会触发,搭配上上面的判断innerWidth可以理解为这是JS版本的css媒体查询
window.onscroll事件 - 滚动事件,一旦滚动就会触发
//1、获取滚动条当前的位置:window.scrollY
//2、获取元素距离页面顶部有多远:elem.offsetTop/offsetLeft
- 本地/客户端存储技术:保存着在浏览器里面的数据
cookie:淘汰了,存储大小只有2kb,而且操作极其复杂,尤其要到处切割的,最多只能保存30天
webStorage:H5(概念统称)带来的一个新特性,存储的大小由8mb,永久保存,而且操作非常简单!
分类2种:
- sessionStorage - 会话级,只要浏览器一旦关闭,数据就会清除
- localStorage - 本地级,只要不清空就永远存在
操作:
1、添加:xxxxStorage.属性名="属性值";
2、读取:xxxxStorage.属性名
3、删除:xxxxStorage.removeItem("属性名");
4、清空:xxxxStorage.clear();//删全部