JS基础-Navigator-尚硅谷-P124

2023-11-06

视频链接
视频

代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
		/**
		 * BOM 
		 * ---浏览器对象模型
		 *  为BOM中提供了一组对象
		 * 完成浏览器操作
		 * Window---代表整个浏览器的窗口,同时window也是网页中的全局对象
		 * Navigator---代表当前浏览器的信息 通过整个识别不同的浏览器
		 * Location---代表当前浏览器的地址栏信息 通过location可以操作浏览器跳转页面
		 * History---代表浏览器的历史记录,可以通过该对象操作浏览器的历史记录 
		 * 由于隐私的原因 该对象不能获取到具体的历史记录 只能向前或向后翻页 而且该操作只在当次访问有效
		 * 
		 * Screen---代表用户的屏幕的信息,通过该对象可以获取到用户的屏幕的相关信息
		 */
		/**
		 * navigator 由于历史原因 navigator中的大部分属性,都已经不能帮助我们识别浏览器了
		 * 一般我们会使用userAgent来判断浏览器信息
		 * --userAgent是一个字符串 这个字符串中包含有用来描述浏览器信息的内容
		 * --不同的浏览器会有不同的userAgent
		 */
		//alert(navigator.userAgent);
		
		/**
		 * 火狐:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0
		 * Chrome:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.9 Safari/537.36
		 * IE8:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729;.NET CLR 3.5.30729)
		 * IE9:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729)
		 * IE10:Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729)
		 * IE11:Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; rv:11.0) like Gecko
		 * 
		 */
		var ua=navigator.userAgent;
		console.log(ua);
		if(/Firefox/i.test(ua)){
			alert("你是火狐!!!");
		}else if(/chrome/i.test(ua)){
			alert("你是Chrome");		
		}else if("ActiveXObject" in window){
			alert("你是IE11");
		}
		//如果通过userAgent不能判断,还可以通过一些特有的对象来判断浏览器的信息
		// if("ActiveXObject" in window){
		// 	alert("你是IE,我已经抓住你了");
		// }else{
		// 	alert("你不是IE");
		// }
		</script>
	</head>
	<body>
		
	</body>
</html>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JS基础-Navigator-尚硅谷-P124 的相关文章

随机推荐

  • 批量执行定时任务_执行批量维护任务安全策略

    批量执行定时任务 介绍 Introduction You may see it more commonly referenced as Database Instance File Initialization DIFI If you ar
  • 接口测试工具——Postman使用详解

    目录 Postman简介 Postman主界面 菜单栏 工具栏 请求管理区 环境管理区 请求设计区 发送请求 发送GET请求 Postman发送GET请求 发送表单格式POST请求 发送JSON格式POST请求 发送XML格式POST请求
  • “invalid method declaration; return type required“

    kinda 在书面英语中使用 表示非正式发音时的 kind of 主要用作为副词 作副词时译为 有点 有几分 常用搭配 kinda like https blog csdn net qiansg123 article details 801
  • Visual studio 2019 之 如何创建一个C++项目?

    1 打开软件 进入下面的界面 点击创建新项目 2 选择空项目 点击下一步 备注 这里的选项和安装软件时 你所安装的组件有关 3 配置新项目 编辑一个自己的项目名字 选择一个保存的文件夹 然后点击右下角的创建 4 这就是项目创建后的界面 左侧
  • Python 第三方模块 数据分析 Pandas模块 时间对象与时间序列

    一 日期和时间数据类型 1 相关模块 参见 Python 内置模块 时间 部分 2 时间戳的Null值 Pandas中用pd NaT Not a Time 表示时间戳数据的Null值 gt gt gt pd NaT NaT gt gt gt
  • 安装MinGW-64 (学习笔记)

    安装MinGW 64 MinGW w64是windows版的GCC编译器 c c 编译调试 下载官网地址 往下拉页面看到下图所示 两种安装方式 方式一 在线安装 Version GCC版本 如果没有特殊的需求 一般选择最高的版本号即可 Ar
  • taro开发微信小程序禁止下拉刷新(ios下拉出现空白问题)

    一 问题描述 最近用tarojs在做一个小程序项目时 首页需要禁止下拉刷新 于是在page json里面添加了这段话 enablePullDownRefresh false 全局关闭下拉刷新 这段话确实禁止了下拉刷新 无论是安卓手机端还是苹
  • 学习Python之路之Python中常见的数据结构一——列表

    列表 List 是Python语言中最通用的序列数据结构之一 列表是一个没有固定长度的 用来表示任意类型对象的位置相关的有序集合 列表的数据项不需要具有相同的类型 常用的列表操作主要包括 索引 连接 乘法和切片等 列表中的每个元素都分配一个
  • 线性dp-----最长公共上升子序列

    首先介绍一下什么是最长公共上升子序列 对于两个数列A B 如果他们都包含一段位置不一定连续的且数值是严格递增的 那么称这一段数就是两个数列的公共上升子序列 所有公共子序列中最长的就是最长公共子序列 例 A 1 7 3 2 4 B 7 2 1
  • 阿里云dataworks离线同步

    业务场景 用公网ip 从本地mysql数据库到另一个本地mysql数据库 在dataworks上配置离线同步和调度任务 步骤 阿里云登录 1 进入dataworks 2 进入控制台 3 选择数据开发 4 配置数据源 选择mysql数据源 连
  • cmd指令杀掉某个端口或线程

    第一步 点击起始菜单 或是通过win R快捷键 在输入框中输入cmd 点击确定 即可打开dos命令窗 第二步 输入netstat ano 查询所有端口 第三步 找到你想杀掉的端口对应的 PID 比如 上面的127 0 0 1 4369对应的
  • 为什么零基础选择语言首选python

    在众多编程语言中 似乎已经没有什么能够阻挡Python的步伐 本月Python又是第一名 市场份额达到了13 42 在2023年 Python已经连续7个月蝉联榜首 遥遥领先于其他对手 每个月榜单发布后 都有小伙伴会好奇 为什么又是Pyth
  • JWT实现登陆认证及Token自动续期

    技术选型 要实现认证功能 很容易就会想到JWT或者session 但是两者有啥区别 各自的优缺点 应该Pick谁 夺命三连 区别 基于session和基于JWT的方式的主要区别就是用户的状态保存的位置 session是保存在服务端的 而JW
  • 在央企当程序员是一种怎样的体验?

    来源 zhihu com question 276681361 answer 2134441878 大家好 又到了求职季 给大家分享一段一位朋友的央企工作经历 希望对于观望工作机会的小伙伴 有些参考 我校招加入了某垄断央企 在里面从事研发工
  • 解决VS2015生成Qt5的QMainWindows界面解决方案时产生一个“表达式必须包含指针类型”的问题

    解决VS2015生成Qt5的QMainWindows界面解决方案时产生一个 表达式必须包含指针类型 的问题 问题描述 分析过程 总结 问题描述 VS2015生成了一个QMainWindow界面 我在cpp实现文件使用ui这个表达式时出现下面
  • 单链表的合并【去重】

    2个有序单链表的合并 void Mergelist L LinkList LA LinkList LB LinkList LC pa LA gt next pb LB gt next LC LA LinkList pc LC while p
  • 智能仓储管理系统(自动化仓库管理解决方案)

    企业实际的仓储管理中 往往会出现那样这样的错误 归根结底 主要是由于没使用合适的仓库管理工具 相反 人工使用合适的仓库管理工具 不仅可以在日常仓库管理方法中根据采集到的产品信息数据 大大地提高管理效率 降低库存实际管控成本 还可降低人工管理
  • 【严重】Smartbi未授权设置Token回调地址获取管理员权限

    漏洞描述 Smartbi是一款商业智能应用 提供了数据集成 分析 可视化等功能 帮助用户理解和使用他们的数据进行决策 在 Smartbi 受影响版本中存在Token回调地址漏洞 未授权的攻击者可以通过向目标系统发送POST请求 smartb
  • 个人用记录:docker启动容器之后不久就会自动关闭

    原因是 docker容器运行必须有一个前台进程 如果没有前台进程执行 容器认为空闲 就会自行退出 尝试方案1 docker run dit name jenkins p 8080 8080 jenkinsci blueocean bin b
  • JS基础-Navigator-尚硅谷-P124

    视频链接 视频 代码