首页 > 编程语言 >JavaScript学习 BOM操作

JavaScript学习 BOM操作

时间:2024-04-08 17:30:09浏览次数:29  
标签:浏览器 log 对象 JavaScript 学习 BOM console location

Browser Object Model (BOM) 是一套专为与浏览器交互而设计的API,它允许JavaScript访问和操纵浏览器窗口以及浏览器本身的相关特性。以下是对BOM主要对象及其操作的详细讲解:

1. Window对象

Window对象 是BOM的核心,它代表浏览器窗口,并且是JavaScript全局对象。这意味着所有全局变量和函数都是Window对象的属性或方法。

  • 实例操作
    // 访问当前URL
    console.log(window.location.href); 
    
    // 设置定时器,2秒后执行函数
    setTimeout(function() {
        alert('Hello from the timer!');
    }, 2000);
    
    // 监听窗口关闭事件
    window.onbeforeunload = function() {
        return 'Are you sure you want to leave?';
    };
    
    // 新开一个窗口
    window.open('https://example.com', '_blank');
    
    // 触发页面刷新
    window.location.reload();

2. Location对象

Location对象 用于获取和修改当前窗口的URL。

  • 实例操作
    // 获取当前URL
    console.log(location.href);
    
    // 重定向到新的URL
    location.href = 'https://www.example.com';
    7// 获取URL的路径部分
    console.log(location.pathname);
    
    // 获取查询字符串参数
    var params = new URLSearchParams(location.search);
    console.log(params.get('paramKey'));

3. History对象

History对象 提供了访问和操作浏览器历史记录的功能。

  • 实例操作
     Javascript 
    // 后退一页
    history.back();
    
    // 前进一页
    history.forward();
    
    // 使用HTML5 History API添加历史记录条目
    history.pushState({page: 'details'}, 'Details Page', '/details.html');

4. Navigator对象

Navigator对象 包含有关浏览器的信息,如名称、版本、语言偏好等,还可以用来检测浏览器特性。

  • 实例操作
    // 获取浏览器信息
    console.log(navigator.userAgent); // 浏览器信息字符串
    console.log(navigator.language); // 浏览器首选语言
    
    // 检查地理定位功能的支持情况
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(function(position) {
            console.log(position.coords.latitude, position.coords.longitude);
        });
    } else {
        console.log('Geolocation is not supported by your browser.');
    }

5. Screen对象

Screen对象 提供了访问客户端显示器信息的方法,如屏幕分辨率、可用工作区大小等。

  • 实例操作
    // 获取屏幕分辨率
    console.log(screen.width); // 屏幕宽度
    console.log(screen.height); // 屏幕高度
    
    // 获取可用工作区大小(扣除操作系统任务栏等)
    console.log(screen.availWidth);
    console.log(screen.availHeight);

以上五个对象共同构成了BOM的基本功能集,让JavaScript可以更好地与浏览器环境互动。在实际编程中,这些对象常用于网页交互、动态路由、用户地理位置获取、屏幕适配等各种应用场景。

标签:浏览器,log,对象,JavaScript,学习,BOM,console,location
From: https://blog.csdn.net/qq_57101277/article/details/137517030

相关文章

  • Vue3 · 小白学习全局 API:常规
    全局API:常规本次笔记versionnextTick()defineComponent()defineAsyncComponent()defineCustomElement()1.version暴露当前所使用的Vue版本。类型string示例import{version}from'vue'console.log(version)2.nextTick()等待下一次DOM更新刷新的工具......
  • 重链剖分学习笔记
    Part.1引入重链剖分是一种用于解决树上的路径查询和修改问题的算法,他能将\(O(n)\)级别的操作转换为\(O(\logn)\)的级别,可以说十分常用。本文将带你深入解析这个算法。Part.2概念和思路在讲解本算法之前,我们先引入一些概念:轻重儿子:对于一个树上的节点\(u\),其儿子中子......
  • openGauss数据库源码学习-指标采集、预测与异常检测
    opengauss源码解析指标采集、预测与异常检测代码位置:/gausskernel/dbmind/tools/anomaly_detection各模组在整体结构上的组合在摩天轮论坛上官方解析文章已经叙述的相对完整详尽。该报告对应为具体模块内部的实现。Agent模块代码位置:~/agentAgent模块负责数据库指标数据......
  • typescript学习文档(二)
    1、安装typescript全局安装:npminstall-gtypescript检查是否安装成功(出现版本号表示安装成功):tsc-v如果使用tsc指令出现如下错误:解决办法:以管理员的身份运行vscode终端执行:get-ExecutionPolicy,结果:Restricted终端执行:set-ExecutionPolicyRemoteSigned终端执行:get......
  • Python学习笔记-001
    记录一下重学python,虽然python老早就接触了,更多的还是停留在语法层面,老c++了。最近打算从头开始系统拉一下python的基础,先预计8天学完。后面还打算系统学一下Numpy,Pandas和Matplotlib。python基础教程python简介检查是否安装python,终端输入python--versionpython是一种解释......
  • Java面象对象编程学习(保姆级教学)
    1、基本数据类型和引用数据类型的区别(用内存的角度):基本数据类型:数据值是存储在自己的空间中特点:赋的值也是真实的值引用数据类型:数据值存储在其他空间中,自己空间存储的是地址值特点:赋的值是地址值★【注意:在静态代码块中,随着类的加载进行,而且只进行一......
  • MySQL学习路线一条龙
    引言在当前的IT行业,无论是校园招聘还是社会招聘,MySQL的重要性不言而喻。面试过程中,MySQL相关的问题经常出现,这不仅因为它是最流行的关系型数据库之一,而且在日常的软件开发中,MySQL的应用广泛,尤其是对于Java后端开发者来说,熟练掌握MySQL已成为他们技术能力评估的重要指标。因此,My......
  • 模拟CMOS集成电路学习笔记:单级放大器(1)
            放大器顾名思义是将信号进行放大,在简单电路中我们经常默认为放大是一种线性行为,即y=kx+t。在模拟集成电路中,一个放大器需要考虑的东西有很多比如功耗、线性度、最大电压摆幅、增益等等。        如图即为拉扎维先生所提到的模拟电路设计八边形法则,这......
  • Web API(五)之BOM操作&window对象&本地存储
    WebAPI(五)之BOM操作&window对象&本地存储js组成window对象定时器-延迟函数JS执行机制location对象navigator对象histroy对象本地存储localStoragesessionStorage(了解)localStorage存储复杂数据类型综合案例数组map方法数组join方法js组成JavaScript的组成ECMA......
  • 【学习】软件测试中为什么要进行接口测试?
    接口测试是软件开发过程中不可或缺的一环,它主要是对软件系统中各个模块之间的接口进行测试,以验证它们是否能够正确地交互和协作。接口测试的目的是确保软件系统的各个部分能够无缝地协同工作,从而提高整个系统的质量和稳定性。一、什么是接口测试接口测试是指对软件系统中各......