1.1. BOM和DOM的区别 DOM就是一套操作HTML标签的API(接口/方法/属性)
BOM就是一套操作浏览器的API(接口/方法/属性)
1.2. BOM中常见的对象 window: 代表整个浏览器窗口 注意: window是BOM中的一个对象, 并且是一个顶级的对象(全局),下面的对象都能通过它找到
Navigator: 代表当前浏览器的信息, 通过Navigator我们就能判断用户当前是什么浏览器
Location: 代表浏览器地址栏的信息, 通过Location我们就能设置或者获取当前地址信息
History: 代表浏览器的历史信息, 通过History来实现刷新/上一步/下一步 注意点: 出于隐私考虑, 我们并不能拿到用户所有的历史记录, 只能拿本次使用时的历史记录
Screen: 代表用户的屏幕信息
1.3. history history应该是属于最常用的BOM对象之一了,我把它写在最前面
最重要的方法:window.history.go(x);
x>0 前进x个当前标签页的历史记录 x<0 后退x个当前标签页的历史记录 x=0 刷新 <body> <h1>我是第一个界面</h1> <button id="btn1">前进</button> <button id="btn2">刷新</button> <a href="52-JavaScript-History2.html">新的界面222</a> <script // 注意点: 出于隐私考虑, 我们并不能拿到用户所有的历史记录, 只能拿到当前的历史记录 let oBtn1 = document.querySelector("#btn1"); let oBtn2 = document.querySelector("#btn2"); // 前进 /* 注意点: 只有当前访问过其它的界面, 才能通过go方法前进 */ oBtn1.onclick = function () { // window.history.forward(); window.history.go(1); } // 刷新 oBtn2.onclick = function () { window.history.go(0); } </script> </body>
<body> <h2>我是第2222个界面</h2> <button id="btn1">后退</button> <script> let oBtn1 = document.querySelector("#btn1"); // 后退 oBtn1.onclick = function () { // window.history.back(); window.history.go(-1); } </script> </body>
1.4. navigator Navigator: 代表当前浏览器的信息, 通过Navigator我们就能判断用户当前是什么浏览器
通过console.log(window.navigator)可以直接在控制台输入当前的浏览器信息,其中你会发现 userAgent: “Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36” vendor: "Google Inc."这一个属性中描述了浏览器信息,我们可以用正则表达式的形式判断是哪一款浏览器
var agent = window.navigator.userAgent; if(/chrome/i.test(agent)){ alert("当前是谷歌浏览器"); }else if(/firefox/i.test(agent)){ alert("当前是火狐浏览器"); }else if(/msie/i.test(agent)){ alert("当前是低级IE浏览器"); }else if("ActiveXObject" in window){ alert("当前是高级IE浏览器"); }s
1.4.1. 顺道给你补习一下这两个正则表达式的用法 /chrome/i是一个正则表达式,表示不分大小写匹配句子中的chrome,正则表达式.test(str)是在利用js中正则对象的test方法,检测句子中是否包含这个要求的单词
“str” in 变量/obj 利用的是in语法,判断这个变量或者obj中是否有这个str
1.5. location 纸上看来终觉浅,绝知此事要躬行。
<body> <button id="btn1">获取当前地址</button> <button id="btn2">设置地址</button> <button id="btn3">刷新</button> <button id="btn4">强制刷新</button> <script> // Location: 代表浏览器地址栏的信息, 通过Location我们就能设置或者获取当前地址信息 let oBtn1 = document.querySelector("#btn1"); let oBtn2 = document.querySelector("#btn2"); let oBtn3 = document.querySelector("#btn3"); let oBtn4 = document.querySelector("#btn4"); // 获取当前地址栏的地址 oBtn1.onclick = function(){ console.log(window.location.href); } // 设置当前地址栏的地址 oBtn2.onclick = function(){ window.location.href = "http://www.it666.com"; } // 重新加载界面 oBtn3.onclick = function(){ window.location.reload(); } oBtn4.onclick = function(){ window.location.reload(true); } </script> </body> |
|
来源:https://www.cnblogs.com/zhuxiaopijingjing/p/12370540.html