前端如何判断用户的 mac 是 arm 还是 x86
https://www.telerik.com/download/fiddler-everywhere
下载 fiddler-everywhere 的时候,它监测到了我的电脑是 arm
怎么实现的?浏览器的 UA 都还是谎称自己是 intel
是通过 js 调用浏览器 API 获得的结果吗?对应的 API 是哪个呢?
看了下我的使用 Apple 芯片的 Mac 上原生的 Safari 的 UA ,它用的就是 Intel 。所以不能凭这个信息认定这个 UA 是在伪装 Intel 芯片。
navigator.userAgentData.getHighEntropyValues(["architecture", "bitness"]) .then(ua => { if (navigator.userAgentData.platform === "Windows") { if (ua.architecture === 'x86') { if (ua.bitness === '64') { console.log("x86_64"); } else if (ua.bitness === '32') { console.log("x86"); } } else if (ua.architecture === 'arm') { if (ua.bitness === '64') { console.log("ARM64"); } else if (ua.bitness === '32') { console.log("ARM32"); } } } else { console.log("Not running on Windows"); } });
微软官方文档:
https://learn.microsoft.com/zh-cn/microsoft-edge/web-platform...
截图中的用浏览器api就可以获取
navigator.userAgent;
该问题可以通过 JavaScript 调用浏览器 API 来实现。在浏览器中,存在一个名为 navigator.userAgent
的属性,它包含了浏览器用于标识自身的一系列标识符信息,其中就包括了 CPU 的类型。
在苹果电脑上,如果 CPU 是 ARM 架构的,那么 navigator.userAgent
属性中就会包含 "CPU OS X" 字样,并且在该字样后面会跟着 CPU 的类型,例如 "CPU OS X ARM" 或者 "CPU OS X ARM64"。因此,通过判断 navigator.userAgent
中是否包含这些标识符,就可以判断出用户的电脑是否为 ARM 架构的。
下面是一段示例代码,可以用来检测用户电脑的 CPU 类型:
const userAgent = navigator.userAgent;const isARM = /CPU OS X ARM/.test(userAgent) || /CPU OS X ARM64/.test(userAgent);console.log(isARM ? 'This is an ARM computer.' : 'This is not an ARM computer.');
这段代码首先获取了 navigator.userAgent
属性的值,然后使用正则表达式检测该字符串中是否包含 "CPU OS X ARM" 或者 "CPU OS X ARM64" 字样。如果包含,那么就认为用户的电脑是 ARM 架构的。最后,将结果输出到控制台中。
需要注意的是,由于 navigator.userAgent
属性可以被用户或某些软件篡改,因此这种检测方法并不是完全可靠的。此外,由于这种方法是基于浏览器的特性来实现的,因此它也只能在浏览器环境下运行。在非浏览器环境下,例如在微信小程序、桌面应用等环境下,该方法就无法使用了。
系统的日志需要登录和登出闭环,即有一个用户登录日志,就需要有一条登出日志。 如果用户通过登出按钮手动登出,触发登出接口是没问题的。 但是大多数用户,包括我自己都是直接点击x,关闭系统。 于是我监听了beforeunload事件,想在这里发登出请求。 现在遇到两个问题,一是:刷新也会触发这个事件。 二是:触发这个事件后的弹窗 重新加载是刷新弹出的,离开时关闭弹出的,我只想在点击离开的时候触发登出,重
本文向大家介绍如何判断是函数还是方法?相关面试题,主要包含被问及如何判断是函数还是方法?时的应答技巧和注意事项,需要的朋友参考一下 看他的调用者是谁,如果是类,就需要传入一个参数self的值,这时他就是一个函数, 如果调用者是对象,就不需要给self传入参数值,这时他就是一个方法 print(isinstance(obj.func, FunctionType)) # False print(isi
超级管理员、管理员和用户。超级管理员可以为用户和管理员创建用户名、密码和用户类型(单选按钮)。我想做的是,当我输入登录用户名和密码时,系统将自动知道该用户是管理员或用户。如何获取已插入sql db的单选按钮的数据 如何获取已经存储在sql db中的用户类型(单选按钮)的数据。然后将其放入if条件。如果我的问题是正确的,但我想要的是区分用户和管理员。谢谢!输出 MainActivity.java 输
本文向大家介绍javascript判断网页是关闭还是刷新,包括了javascript判断网页是关闭还是刷新的使用技巧和注意事项,需要的朋友参考一下 原理就是通过离开页面行为时间onunload触发时间去检测此时的浏览器的窗口大小,根据大小由此判断用户是刷新,跳转或是关闭行为程序 代码如下 用浏览器右上角的关闭按钮时好用,但在选项卡上关闭和在任务栏上关闭,这个方法就不作用了 js标签只有onlo
需求背景 A B C 三个页面 A => C ,通过 router.push 进入。 B => C ,通过 router.repace 进入。 需求: 在 C 页面需要判断是 replace 还是 push 来进行特殊的操作。 问题: vue-router 是否有这样的方式呢?
请问电脑如何判断HDMI接的屏幕是打开的? 目前在车间有放电视墙展示生产状况 但有时会有停电或是人为不小心关闭屏幕情况 导致每天都要去现场巡视 请问有办法用程序或是其它方式,能知道电脑连接的HDMI屏幕是否打开状态吗?