WebApi入门第九章(BOM浏览器对象模型)

简介: WebApi入门第九章(BOM浏览器对象模型)

1.BOM与DOM介绍


JavaScript语言由三部分组成


ECMAJavaScript:定义了js的语法规范


Dom:document object model文档对象模型:一个HTML文档中所有的一切都是dom对象

  * Dom定义了一套操作HTML文档的API(节点的增删改查)

 

Bom:Browser object model浏览器对象模型 例如:一个浏览器的窗口就是一个window对象

  * Bom定义了一套操作浏览器窗口的API


Bom主要由五大对象组成:


window:浏览器核心对象

location:包含当前页面的URL信息

history:history对象主要用于记录你当前窗口的历史记录

navigator:包含当前浏览器的信息,例如用的什么浏览器,操作系统版本等

screen:获取用户电脑的屏幕分辨率

20210821215141660.png


2.window对象


1.window对象:指的是当前浏览器窗口,它是JS中的顶级对象


(1).所有的全局变量(var声明的)都是window对象的属性:最顶级的对象

document对象

bom对象

全局的方法:alert(),setInterval()...........


(2).只要是window的属性和方法,在使用的时候都可以省略window

例如:window.alert() 可以省略window写成alert()

例如:window.document 可以省略window写成document


(3).window对象有一个特殊属性叫做name

它永远都是一个字符串,无论给他赋什么值


2.window对象有两个常用的方法:open()与close()


open():打开一个窗口

close():关闭一个窗口


3.window对象三个事件


window对象有三个事件,记录了浏览器窗口从打开到关闭的三个过程


1.window.onload:界面上所有的内容加载完毕之后才触发这个事件

2.window.onbeforeunload:界面在关闭之前会触发这个事件

3.window.onunload:界面在关闭的那一瞬间会触发这个事件

       点击某个离开页面的链接

       在地址栏中键入了新的 URL

       使用前进或后退按钮

       关闭浏览器窗口

       重新加载页面


4.location对象


1.location对象:包含当前页面的URL信息


url:统一资源定位符

url = 协议名(http) + ip地址(域名) + 端口号 + 资源路径


2.location对象有三个常用的方法


(1)打开新网页:location.assign('你要打开的新网页的url')

(2)替换当前网页:location.replace('要替换的网页url')

 (3) 刷新当前网页: location.reload()


5.history对象


history对象主要用于记录当前窗口的历史记录


主要作用就是前进和后退网页(相当于浏览器的左上角前进后退按钮功能)

history.forward():前进

history.back():后退


6.navigator对象


navigator对象:包含当前浏览器的信息


应用场景:用户信息统计(统计我这个网站平台的用户群体分布,什么浏览器,windows什么版本等)

<script>
    /*navigator对象:包含当前浏览器的信息
        工作中应用场景:用户信息统计(统计我这个网站平台的用户群体分布,什么浏览器,windows什么版本等)
     */
    console.log ( navigator );//navigator对象
    console.log ( navigator.appVersion );   // 当前浏览器版本信息
    console.log ( navigator.platform );     // 当前浏览器的硬件平台
    console.log ( navigator.userAgent );    // 当前浏览器信息
    // 使用场景1:判断当前用户的操作系统是32位还是64位
    // 谷歌和IE  64位显示WOW64    火狐显示Win64
    if(navigator.userAgent.indexOf('WOW64') != -1 || navigator.userAgent.indexOf('Win64') != -1){
        console.log ( "64位" );
    }else{
        console.log ( "32位" );
    }
    // 使用场景2:判断用户当前使用哪种浏览器
    if(navigator.userAgent.indexOf('Chrome') != -1){
        console.log ( "谷歌浏览器" );
    }else if(navigator.userAgent.indexOf('Firefox') != -1){
        console.log ( "火狐浏览器" );
    }else{
        console.log ( "IE浏览器" );      // 也有可能是其他小众浏览器,可以忽略不计
    }
</script>
</html>



相关文章
|
2月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
170 2
|
3月前
|
数据可视化 Java Windows
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
本文介绍了如何在Windows环境下安装Elasticsearch(ES)、Elasticsearch Head可视化插件和Kibana,以及如何配置ES的跨域问题,确保Kibana能够连接到ES集群,并提供了安装过程中可能遇到的问题及其解决方案。
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
|
1月前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
2月前
|
XML 编解码 JavaScript
DOM(文档对象模型)和 BOM(浏览器对象模型)
【10月更文挑战第19天】在前端开发中,理解 DOM(文档对象模型)和 BOM(浏览器对象模型)是至关重要的。它们是 Web 开发的基础,为我们提供了与网页文档和浏览器进行交互的能力。
|
2月前
|
JavaScript 前端开发 编译器
【小白入门】 浏览器如何识别Typescript?
【10月更文挑战第1天】浏览器如何识别Typescript?
|
2月前
|
机器学习/深度学习 自然语言处理 前端开发
前端大模型入门:Transformer.js 和 Xenova-引领浏览器端的机器学习变革
除了调用API接口使用Transformer技术,你是否想过在浏览器中运行大模型?Xenova团队推出的Transformer.js,基于JavaScript,让开发者能在浏览器中本地加载和执行预训练模型,无需依赖服务器。该库利用WebAssembly和WebGPU技术,大幅提升性能,尤其适合隐私保护、离线应用和低延迟交互场景。无论是NLP任务还是实时文本生成,Transformer.js都提供了强大支持,成为构建浏览器AI应用的核心工具。
580 1
|
2月前
|
Web App开发 JavaScript 前端开发
JavaScript Window - 浏览器对象模型
JavaScript Window - 浏览器对象模型
24 2
|
3月前
|
JavaScript 前端开发
js之浏览器对象|28
js之浏览器对象|28
|
4月前
|
API UED 开发者
如何在Uno Platform中轻松实现流畅动画效果——从基础到优化,全方位打造用户友好的动态交互体验!
【8月更文挑战第31天】在开发跨平台应用时,确保用户界面流畅且具吸引力至关重要。Uno Platform 作为多端统一的开发框架,不仅支持跨系统应用开发,还能通过优化实现流畅动画,增强用户体验。本文探讨了Uno Platform中实现流畅动画的多个方面,包括动画基础、性能优化、实践技巧及问题排查,帮助开发者掌握具体优化策略,提升应用质量与用户满意度。通过合理利用故事板、减少布局复杂性、使用硬件加速等技术,结合异步方法与预设缓存技巧,开发者能够创建美观且流畅的动画效果。
89 0
|
1月前
|
JSON 移动开发 JavaScript
在浏览器执行js脚本的两种方式
【10月更文挑战第20天】本文介绍了在浏览器中执行HTTP请求的两种方式:`fetch`和`XMLHttpRequest`。`fetch`支持GET和POST请求,返回Promise对象,可以方便地处理异步操作。`XMLHttpRequest`则通过回调函数处理请求结果,适用于需要兼容旧浏览器的场景。文中还提供了具体的代码示例。
在浏览器执行js脚本的两种方式

相关实验场景

更多