一:BOM与DOM操作

  • 引入
目前为止,我们已经学习了javaScript的一些简单的语法。但是这些简单的语法,并没有和浏览器有任何交互。也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DOM相关知识。
Javascript 由三部分构成,ECMAScript,DOM和BOM。

1.BOM与DOM操作
BOM
浏览器对象模型 Browser Object Model
js代码操作浏览器 提供一些属性和方法可以操作浏览器
它使 javaScript有能力与浏览器进行 "对话" DOM
文档对象模型 Document Object Model
js代码操作标签 提供操作页面元素的方法和属性
通过它 可以访问HTML文件的所有元素

二:BOM操作

1.常用的Window方法:
window对象指代的就是浏览器窗口

window.innerHeight - 浏览器窗口的内部高度
window.innerWidth - 浏览器窗口的内部宽度
window.open() - 打开新窗口
window.close() - 关闭当前窗口
2.案例实操
window.innerHeight  # 当前浏览器窗口的高度
900 window.innerWidth # 当前浏览器窗口的宽度
1680
3.打开新窗口
window.open('https://www.mzitu.com/','','height=400px,width=400px,top=400px,left=400px') 

解析内容:
新建窗口打开页面 第二个参数写空即可 第三个参数写新建的窗口的大小和位置

4.关闭当前页面
window.close()  关闭当前页面

扩展父子页面通信window.opener() 了解

三:window的子对象

1.navigator对象
浏览器对象,通过这个对象可以判定用户所使用的浏览器,包含了浏览器相关信息。
2.navigator常用方法
navigator.appName  		 // Web浏览器全称
navigator.appVersion   // Web浏览器厂商和版本的详细字符串
navigator.userAgent   // 客户端绝大部分信息
navigator.platform   // 浏览器运行所在的操作系统
3.navigator实际使用
navigator		: 浏览器对象

1.浏览器全称
window.navigator.appName 输出结果:
"Netscape" 2.浏览器厂商和版本的详细字符串
window.navigator.appVersion 输出结果:
"5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36" 3.用来标识\效验当前是否是一个浏览器 是否存在(userAgent)参数
window.navigator.userAgent 输出结果:
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36"

4.扩展(user-agent)网站仿爬措施
1.最简单最常用的一个就是校验当前请求的发起者是否是一个浏览器 userAgent

    user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36

如何破解该措施?
在你的代码中加上上面的user-agent配置即可
5.查看当前平台
window.navigator.platform
'Win32'
6.提醒:

如果是window的子对象 那么window可以省略不写(习惯性建议写一下)

navigator.platform

四:history对象

1.window.history 对象包含浏览器的历史
window.history 对象包含浏览器的历史
浏览器历史对象,包含了用户对当前页面的浏览历史,但我们无法查看具体地址,可以简单的用来前进或者后退一个页面。
2.history使用
window.history.back()  回退到上一页
window.history.forward() 前进到下一页
  • history对应的就是你浏览器左上方的两个的箭头

五:location对象

1.location
window.location 对象用于获取当前页面的地址(URL),并把浏览器重定向到新的页面。
2.常用属性方法
window.location.href	# 获取当前页面的url
window.location.href = url # 跳转到指定的url('https://www.mzitu.com')
window.location.reload() # 重新加载页面 浏览器左上方的小圆圈
3.实践location对象
3.1获取当前页面的url

window.location.href

3.2跳转到指定的url

window.location.href = ('https://www.mzitu.com')

3.3重新加载页面 浏览器左上方的小圆圈

window.location.reload()

六:弹出框

  • 警告框

    alert()

  • 确认框

    confirm()

  • 提示框

    prompt()

作用:会弹出一个窗口

1.警告框
alert('你不要过来啊!!!')
undefined

2.确认框
confirm('你确定真的要这么做吗?能不能有其他方式能够满足你...')
false
confirm('你确定真的要这么做吗?能不能有其他方式能够满足你...')
true

3.提示框
prompt('手牌号给我看一下','22号消费888')

七:计时器相关

  • 过一段时间之后触发(一次)
  • 每隔一段时间触发一次(循环)
1.过一段时间之后触发(一次)
3秒后触发一次
也可以取消定时任务,就不会进行执行
<script>
function func1() {
alert(123)
}
// 毫秒为单位 3秒之后自动执行func1函数
let t = setTimeout(func1,3000); // 取消定时任务 如果你想要清除定时任务 需要提前用变量指代定时任务
clearTimeout(t)
</script>

2.每隔三秒时间触发一次(循环)
限制每隔3秒触发执行一次,九秒后触发 停止执行。
<script>
function func2() {
alert(123)
}
function show(){
let t = setInterval(func2,3000); // 每隔3秒执行一次
function inner(){
clearInterval(t) // 清除定时器
}
setTimeout(inner,9000) // 9秒中之后触发/执行
}
show()
</script>

注意:
在HTML中 script 可以放head内,也可以放在body内。

DOM操作链接:https://www.cnblogs.com/goOJBK/p/15878907.html

BOM与DOM之BOM操作的更多相关文章

  1. JavaScript之BOM和DOM及其兼容操作详细总结

    BOM(浏览器对象模型) 所有浏览器都支持window对象,他表示浏览器窗口. 所有js全局对象,函数,变量均自动成为window对象的成员. 全局变量是window对象的属性. 全局函数是windo ...

  2. 前端基础之BOM和DOM操作

    目录 BOM和DOM定义 windows对象 windows的子对象 navigator对象 screen对象 history对象 location对象 弹出框 警告框 确认框 提示框 计时相关 se ...

  3. 前端之BOM和DOM

    BOM和DOM简介 BOM(Browser Object Model)是指浏览器对象模型,它使JavaScript有能力与浏览器进行“对话”. DOM(Document Object Model)是指 ...

  4. 前端--javaScript之BOM和DOM

    BOM和DOM概述 BOM(Browser Object Model):是指浏览器对象模型,它使js有能力和浏览器进行"对话". DOM(Document Object Model ...

  5. 前端基础-BOM和DOM学习

    JavaScript分为 ECMAScript,BOM,DOM. BOM:是指浏览器对象模型,使JavaScript有能力与浏览器进行对象. DOM:是指文档对象模型,通过它,可以访问HTML文档的所 ...

  6. JS BOM DOM对象 select联动 计时器 时间 css操作 节点(标签 ) 查找标签 {前端基础之BOM和DOM}

    前端基础之BOM和DOM 前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我 ...

  7. 前端开发—BOM对象DOM文档对象操作

    BOM 浏览器对象 BOM:Browser Object Model 操作浏览器,需要调用window对象,它是所有浏览器都支持的对象,表示的就是浏览器窗口 window对象可以通过点调用子对象 wi ...

  8. 前端js之BOM和DOM操作

    目录 引入 BOM操作 window对象 history对象 location对象(重点) 弹出框 定时器 计时器相关 DOM 查找标签 直接查找 间接查找 节点操作 创建节点及添加节点 删除节点 替 ...

  9. BOM和DOM的操作

    到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互.也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DOM相关知 ...

随机推荐

  1. 【前端必会】eslint搞起

    介绍 eslint进行代码审查,统一代码风格,预防潜在BUG 官网 https://eslint.bootcss.com/docs/user-guide/getting-started 安装 init ...

  2. Opengl ES之四边形绘制

    四边形的绘制在Opengl ES是很重要的一项技巧,比如做视频播放器时视频的渲染就需要使用到Opengl ES绘制四边形的相关知识.然而在Opengl ES却没有直接提供 绘制四边形的相关函数,那么如 ...

  3. PAT (Basic Level) Practice 1022 D进制的A+B 分数 20

    输入两个非负 10 进制整数 A 和 B (≤230−1),输出 A+B 的 D (1<D≤10)进制数. 输入格式: 输入在一行中依次给出 3 个整数 A.B 和 D. 输出格式: 输出 A+ ...

  4. 关于从Ecplise导入项目到MyEclipse会出现冲突的原因。

    昨天,从网上下了一个Eclipse的小项目导入到MyEclipse中,出现了许多错误. 原因如下. JDK的编译版本和JRE的运行版本不一致导致了这个问题. 在MyEclipse中,对项目进行Buil ...

  5. 云原生时代的DevOps平台设计之道

    开发人员与运维人员是 IT 领域很重要的两大人群,他们都会参与到各种业务系统的建设过程中去.DevOps 是近年间火爆起来的一种新理念,这种理念被很多人错误的解读为"由开发人员(Dev)学习 ...

  6. Java I/O(3):NIO中的Buffer

    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来- 之前在调用Channel的代码中,使用了一个名叫ByteBuffer类,它是Buffer的子类.这个叫Buffer的类是专门用来解决高速设备与低 ...

  7. VS Code For Web 深入浅出 -- 进程间通信篇

    在上一篇中,我们一起分析了 VS Code 整体的代码架构,了解了 VS Code 是由前后端分离的方式开发的.且无论前端是基于 electron 还是 web,后端是本地还是云端,其调用方式并无不同 ...

  8. 删除数组里含有a的元素,并且将null值放在后面

    想去掉里面含有a的元素,并将null放在后面.放在后面就是往后移,其他值往左移 1 public static void main(String[] args) { 2 //自定义的一个数组 3 St ...

  9. LcdTools如何导出内置画面为bmp图片

    运行LcdTools,先设置好图片所需分辨率参数,点击"画面设置"栏,修改下图所示参数 点击"画面设置"栏,在"画面资源"栏找到需要导出的画 ...

  10. 【MySQL】03_数据类型

    MySQL 中的数据类型 类型 类型举例 整数类型 TINYINT.SMALLINT.MEDIUMINT.INT(或INTEGER).BIGINT 浮点类型 FLOAT.DOUBLE 定点数类型 DE ...