第三周day002

104 阅读3分钟

day002

1、BOM:Browser Object Model

浏览器对象模型,专门用于操作浏览器的

2、window对象
  1. 代替全局对象global:保存着全局变量和全局函数
  2. 指代当前窗口本身
属性:专门获取大小
  • 获取浏览器的完整的大小: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的专属事件:
1window.onload事件
// load:加载:等待其他所有的资源加载完毕后才会执行的代码,放在里面的代码其实是要最后才会执行
// 只要把js放在HTML的后面,就不需要此操作
2window.onresize事件
// 窗口如果大小发生了变化,就会触发,搭配上上面的判断innerWidth可以理解为这是JS版本的css媒体查询
window.onscroll事件 - 滚动事件,一旦滚动就会触发
//1、获取滚动条当前的位置:window.scrollY
//2、获取元素距离页面顶部有多远:elem.offsetTop/offsetLeft
  • 本地/客户端存储技术:保存着在浏览器里面的数据
    cookie:淘汰了,存储大小只有2kb,而且操作极其复杂,尤其要到处切割的,最多只能保存30天
    webStorage:H5(概念统称)带来的一个新特性,存储的大小由8mb,永久保存,而且操作非常简单!
    分类2种:
  1. sessionStorage - 会话级,只要浏览器一旦关闭,数据就会清除
  2. localStorage - 本地级,只要不清空就永远存在
操作:
1、添加:xxxxStorage.属性名="属性值";
2、读取:xxxxStorage.属性名
3、删除:xxxxStorage.removeItem("属性名");
4、清空:xxxxStorage.clear();//删全部