首页 > 其他分享 >js 软件与硬件检测

js 软件与硬件检测

时间:2024-02-04 22:01:07浏览次数:35  
标签:浏览器 log screen console js 硬件 软件 navigator orientation

现代浏览器提供了一组与页面执行环境相关的信息,包括浏览器、操作系统、硬件和周边设备信息。 这些属性可以通过暴露在 window.navigator 上的一组 API 获得。不过,这些 API 的跨浏览器支持还不够好,远未达到标准化的程度。 识别浏览器与操作系统 特性检测和用户代理字符串解析是当前常用的两种识别浏览器的方式。而 navigator 和 screen对象也提供了关于页面所在软件环境的信息。 navigator.oscpu navigator.oscpu 属性是一个字符串,通常对应用户代理字符串中操作系统/系统架构相关信息。 根据 HTML 实时标准: oscpu 属性的获取方法必须返回空字符串或者表示浏览器所在平台的字符串,比如"Windows NT 10.0; Win64; x64"或"Linux x86_64"。比如,Windows 10 上的 Firefox 的 oscpu 属性应该对应于以下加粗的部分:

"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0" 
console.log(navigator.oscpu); 
"Windows NT 10.0; Win64; x64"

navigator.vendor navigator.vendor 属性是一个字符串,通常包含浏览器开发商信息。返回这个字符串是浏览器navigator 兼容模式的一个功能。根据 HTML 实时标准:

例如,Chrome 中的这个 navigator.vendor 属性返回下面的字符串:
```console.log(navigator.vendor); // "Google Inc."

navigator.platform navigator.platform 属性是一个字符串,通常表示浏览器所在的操作系统。根据 HTML 实时标准: navigator.platform 必须返回一个字符串或表示浏览器所在平台的字符串,例如"MacIntel"、"Win32"、"FreeBSD i386"或"WebTV OS"。例如,Windows 系统下 Chrome 中的这个navigator.platform 属性返回下面的字符串:

screen.colorDepth 和 screen.pixelDepth screen.colorDepth 和 screen.pixelDepth 返回一样的值,即显示器每像素颜色的位深。根据CSS 对象模型(CSSOM)规范: screen.colorDepth 和 screen.pixelDepth 属性应该返回输出设备中每像素用于显示颜色的位数,不包含 alpha 通道。 Chrome 中这两个属性的值如下所示:

console.log(screen.pixelDepth); // 24

screen.orientation screen.orientation 属性返回一个 ScreenOrientation 对象,其中包含 Screen Orientation API 定义的屏幕信息。这里面最有意思的属性是 angle 和 type,前者返回相对于默认状态下屏幕的角度,后者返回以下 4 种枚举值之一:  portrait-primary  portrait-secondary  landscape-primary  landscape-secondary 例如,在 Chrome 移动版中,screen.orientation 返回的信息如下:

console.log(screen.orientation.type); // portrait-primary 
console.log(screen.orientation.angle); // 0 
// 向左转
console.log(screen.orientation.type); // landscape-primary 
console.log(screen.orientation.angle); // 90 
// 向右转
console.log(screen.orientation.type); // landscape-secondary 
console.log(screen.orientation.angle); // 270

根据规范,这些值的初始化取决于浏览器和设备状态。因此,不能假设 portrait-primary 和 0始终是初始值。这两个值主要用于确定设备旋转后浏览器的朝向变化。

标签:浏览器,log,screen,console,js,硬件,软件,navigator,orientation
From: https://blog.51cto.com/u_16255561/9594911

相关文章

  • js 浏览器分析
    想要知道自己代码运行在什么浏览器上,大部分开发者会分析window.navigator.userAgent返回的字符串值。所有浏览器都会提供这个值,如果相信这些返回值并基于给定的一组浏览器检测这个字符串,最终会得到关于浏览器和操作系统的比较精确的结果。相比于能力检测,用户代理检测还是有一定......
  • JS——常用实例
    对话框输入,获取,计算,输出。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>JS:操作HIML对象</title></head><body><!--1.两个输人框和一个输出框--><labelfor="1......
  • 软件安装的过程中都做了些什么
    转载自软件安装的过程中都做了些什么软件在安装时,到底做了些什么?大家每天都在用电脑,可能也经常在自己的电脑上安装软件。就算自己没安装过,至少也看到人家安装过软件。在这里,我不是想教你怎么安装软件,而是想向你展示,软件在安装的过程中,到底都做了些什么动作?为什么有些软件要安装,......
  • GeoJSON
    GeoJSON概览https://www.processon.com/mindmap/6224a2dc7d9c0836f90060a8地理要素特征对象->Feature{type:"Feature","properties":{name:'xxx'},"geometry":{{"type":"Point",......
  • 问题:?软件测试方法中,属于静态测试方法的是( )。?黑盒法?逻辑覆盖?错误推测?人工检测
    问题:?软件测试方法中,属于静态测试方法的是()。?黑盒法?逻辑覆盖?错误推测?人工检测参考答案如图所示......
  • 《jsp篇》jsp是什么?
    前文链接:https://www.zhihu.com/question/437632592/answer/1677694755链接:https://www.zhihu.com/question/23984162/answer/689106407现在(2019)对于后端程序员来说,可以不学JSP。但是如果你是非科班,不论是在培训班还是自学,最好都了解一下。技术不扎实的培训班学员,基本很难找到一......
  • 《jsp篇》jsp中引用js路径的三种方法
    链接:https://blog.csdn.net/xukangone/article/details/102948708第一种直接引用这里的路劲为<scripttype="text/javascript"src="js/jquery-3.0.0.min.js"></script>注意:在jsp中使用js中的方式必须先对“jQuery-3.0.0.min.js”进行页面的引用,否则无效;因在js中使用$(docu......
  • 企业如何选择适合自己的加密软件?
    在数字化的世界中,数据经常在网络中传输和存储,可能会遇到恶意攻击和意外泄露风险,因此数据的安全保护显得尤为重要。而将数据进行加密,则是一种非常有效的保密手段。然而,市场上存在大量的文件加密解决方案,企业可能在选择过程中会感到困惑。如何在众多的加密软件中选择最适合自己企业......
  • Flog.js
      Emeditor用的格式化日志的脚本。主要用于从日期中提取行列数据。//功能:格式化runlog中各个线程的统计项//使用方法,输入所要提取统计项的一个关键词,或多个关键词对应值求和//正则无记忆方法varfso=newActiveXObject("Scripting.FileSystemObject");varstrSp......
  • 软件测试学习笔记丨Seleium的BUG:页面元素文案重复空格处理
    前言需求做WEB的UI自动化练习,其需求为:访问慕课网的实战页面,获取实战页面的课程列表信息,并逐个点击进入详情并且关闭详情,直到最后一个。环境Java8MavenSelenium4.0Junit5初步代码importorg.junit.jupiter.api.AfterAll;importorg.junit.jupiter.api.BeforeAll;importorg......