JS BOM知识整理
时间:2022-04-22
本文章向大家介绍JS BOM知识整理,主要内容包括导图、navigator、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
BOM部分主要是针对浏览器的内容,其中常用的就是window对象和location, window是全局对象很多关于浏览器的脚本设置都是通过它。 location则是与地址栏内容相关,比如想要跳转到某个页面,或者通过URL获取一定的内容。 navigator中有很多浏览器相关的内容,通常判断浏览器类型都是通过这个对象。 screen常常用来判断屏幕的高度宽度等。 history不太常用,一般应该不会有写关于历史记录的脚本。 其中比较常用的内容就是: 如何判断各种版本的浏览器
导图
navigator
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<script type="text/javascript">
console.log("浏览器名称");
console.log(navigator.appCodeName);
console.log("次版本信息");
console.log(navigator.appMinorVersion);
console.log("完整的浏览器名称");
console.log(navigator.appName);
console.log("浏览器版本");
console.log(navigator.appVersion);
console.log("浏览器编译版本");
console.log(navigator.buildID);
console.log("是否启用cookie");
console.log(navigator.cookieEnabled);
console.log("客户端计算机CPU类型");
console.log(navigator.cpuClass);
console.log("浏览器是否启用java");
console.log(navigator.javaEnabled());
console.log("浏览器主语言");
console.log(navigator.language);
console.log("浏览器中注册的MIME类型数组");
console.log(navigator.mimeTypes);
console.log("是否连接到网络");
console.log(navigator.onLine);
console.log("客户端计算机操作系统或者CPU");
console.log(navigator.oscpu);
console.log("浏览器所在的系统平台");
console.log(navigator.platform);
console.log("浏览器中插件信息数组");
console.log(navigator.plugins);
console.log("用户的首选项");
// console.log(navigator.preference());
console.log("产品名称");
console.log(navigator.product);
console.log("产品的次要信息");
console.log(navigator.productSub);
console.log("操作系统的语言");
console.log(navigator.systemLanguage);
console.log("浏览器的用户代理字符串");
console.log(navigator. userAgent);
console.log("操作系统默认语言");
console.log(navigator.userLanguage);
console.log("用户个人信息对象");
console.log(navigator.userProfile);
console.log("浏览器品牌");
console.log(navigator.vendor);
console.log("浏览器供应商次要信息");
console.log(navigator.vendorSub);
</script>
</body>
</html>
chrome浏览器
IE浏览器
- [接口测试 - 基础篇] 01 你应该了解的协议基础
- 使用TensorFlow实现神经网络的介绍
- HTTP协议报文结构及抓包报文分析示例
- 必备 .NET - C# 异常处理
- Java Socket获取本机的InetAddress实例
- 机器理解大数据秘密:聚类算法深度剖析
- BZOJ 3668: [Noi2014]起床困难综合症【贪心】
- 用C#实现字符串相似度算法(编辑距离算法 Levenshtein Distance)
- 51 Nod 1007 正整数分组【类01背包】
- 从入门到精通之Boyer-Moore字符串搜索算法详解
- 线性表的顺序存储结构的实现及其应用(C/C++实现)
- IPython使用学习笔记
- 如何用Python调用java程序
- LCT学习笔记
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 深入理解JVM(③)Java的锁优化
- Spring 基于 Java 的配置 - 如何不用Beans.xml照样描述bean之间的依赖关系
- Spring 中的事件处理
- Vim安装插件管理器Vundle
- Ubuntu下为vim安装YouCompleteMe插件
- 单机部署k8s
- VIM个性化配置(一)
- Django+Vue开发生鲜电商平台之6.使用Vue实现商品类别和商品数据前台显示
- 【程序源代码】基于Python开发的Markdown在线文档系统
- 深度学习Pytorch检测实战 - Notes - 第4章 两阶经典检测器:Faster RCNN
- Numpy中的两个乱序函数
- PerfDog4.0探索,支持用户自建web云
- 跨帐号访问COS资源
- 聊聊dubbo-go的DubboProtocol
- 推荐一个很牛叉的开源Flask项目