首页 > 编程语言 >如何分辨Javascript代码运行在真机手机,还是DevTools 开发员工具中?

如何分辨Javascript代码运行在真机手机,还是DevTools 开发员工具中?

时间:2022-09-30 09:58:51浏览次数:86  
标签:canvas vendor 真机 WEBGL Javascript 代码运行 renderer var gl

一种通过WebGL检测是否是开发员工具模拟的手机的方法

1 var canvas = document.createElement('canvas');
2 var gl = canvas.getContext('webgl');
3 
4 var debugInfo = gl.getExtension('WEBGL_debug_renderer_info');
5 var vendor = gl.getParameter(debugInfo.UNMASKED_VENDOR_WEBGL);
6 var renderer = gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL);
7 
8 console.log(vendor);
9 console.log(renderer);

 真机vendor会返回手机信息,例如:

vendor:ARM

renderer:Mali-G610 MC6

而电脑仿真的返回电脑上的设备,例如:

vendor:Google Inc. (NVIDIA)

renderer:ANGLE (NVIDIA, NVIDIA GeForce RTX 2060 Direct3D11 vs_5_0 ps_5_0, D3D11)

标签:canvas,vendor,真机,WEBGL,Javascript,代码运行,renderer,var,gl
From: https://www.cnblogs.com/easyc/p/16743863.html

相关文章

  • html javascript读取 文件内容
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>文件读取</title></head><body><inputtype="file"><script>functionget_......
  • JavaScript排序 — sort()方法(解决null、undefined、0之间的排序(混乱)问题)
    JavaScript排序—sort()方法——解决null、undefined、0之间的排序(混乱)问题一、普通的数组排序​ JavaScript中用方法sort()为数组排序。sort()方法有一个可选参数,是......
  • Javascript 手写 LRU 算法
    LRU是LeastRecentlyUsed的缩写,即最近最少使用。作为一种经典的缓存策略,它的基本思想是长期不被使用的数据,在未来被用到的几率也不大,所以当新的数据进来时我们可以优先......
  • 如何在Intellij IDEA运行和调试JavaScript
    浏览器都可以解析和运行JS,但最好的方式应该还是使用node.js来运行。所以第一步就是安装node。对于Mac,一条命令即可:$brewinstallnode安装完成后,可以检查一下对应的......
  • 003.JavaScript的数据类型
         ......
  • javascript 规范
    关于变量及方法等的命名,没有硬性规定,但是为了规范,遵循一些约定还是有必要的。变量定义:用var关键字将要使用的变量定义在代码开头,变量间用分号隔开。原因有二:一是便......
  • JavaScript 事件
    EVENT(上)之前我们简单的了解过一些事件,比如​​onclick​​​ /​​onload​​​ /​​onscroll​​ /...今天开始,我们详细的学习一些事件什么是事件一个事件由什么东西......
  • JavaScript 语言基础知识点
    1、JavaScript数据类型2、JavaScript变量3、Javascript运算符4、JavaScript流程控制5、JavaScript函数基础6、JavaScript数组7、JavaScript字符串函数8、JavaS......
  • 18.getElementById(id)是javascript中访问某个元素的方法
    document.getElementById(id)是javascript中访问某个元素的方法。返回指定ID的元素getElementById()方法可返回对拥有指定ID的第一个对象的引用。HTMLDOM定义了多......
  • JavaScript ES6常用基础知识总结
    ​ES6let与const及其相关块级作用域ES6新增了块级作用域,总结一句话大致就是:大括号{}包起来的代码块基本山都可以当做块级作用域。常见的有直接使用{}包起来:{vara=4}函数......