function () { var lang = navigator.language||navigator.userLanguage;//常规浏览器语言和IE浏览器 lang = lang.substr...javascript"> var type = navigator.appName; if (type == "Netscape"){ var lang = navigator.language;//获取浏览器配置语言...,支持非IE浏览器 }else{ var lang = navigator.userLanguage;//获取浏览器配置语言,支持IE5+ == navigator.systemLanguage... }; var lang = lang.substr(0, 2);//获取浏览器配置语言前两位 if (lang == "zh"){ alert(lang); /
获取浏览器版本 function getBrowser() { var UserAgent = navigator.userAgent.toLowerCase...Chrome: UserAgent.indexOf('chrome') > -1 && UserAgent.indexOf('safari') > -1, // Chrome浏览器...Edge: UserAgent.indexOf('edge') > -1, // Edge浏览器 QQBrowser: /.../i.test(UserAgent) // 微信浏览器 }; // console.log(browserArray)...for (var mt in navigator.mimeTypes) { //检测是否是360浏览器
文章目录 浏览器指纹 chromedriver指纹 隐藏指纹的插件 修改指纹的浏览器 反爬指纹的生成 canvas指纹 音频指纹 工具站 ---- 浏览器指纹 浏览器指纹很重要,在数据采集、搜索引擎、埋点分析...甚至于禁用JavaScript后,一些网站还会根据页面的CSS样式表来获取信息。 ---- 修改指纹的浏览器 所以有时候可以使用指纹浏览器来进行调试。...巨象浏览器 AdsPower浏览器 阿拉鱼指纹浏览器 hubstudio指纹浏览器 洋葱浏览器 ---- 反爬指纹的生成 目前常见的反爬指纹有 基于某种算法的请求指纹(如:TLS-Ja3、报文指纹...那在Js中如何获取Canvas 指纹呢,通常是基于Canvas 绘制特定内容的图片,然后使用 canvas.toDataURL()方法返回该图片内容的base64编码字符串,这一点在我们补环境时也经常遇到...在FingerprintJS2有获取音频指纹的代码。 音频指纹会受到硬件影响,因为音频信号的处理上不同,不同机器下或不同浏览器产生的音频输出存在差异。
来源 | http://www.fly63.com/article/detial/10479 什么是浏览器指纹 “浏览器指纹”是一种通过浏览器对网站可见的配置和设置信息来跟踪Web浏览器的方法,浏览器指纹就像我们人手上的指纹一样...那么浏览器指纹也是同理,获取浏览器具有辨识度的信息,进行一些计算得出一个值,那么这个值就是浏览器指纹。...网站可以利用 WebGL 来识别设备指纹,一般可以用两种方式来做到指纹生产: WebGL 报告——完整的 WebGL 浏览器报告表是可获取、可被检测的。...例如fingerprint2js库的 WebGL 指纹生产方式: // 部分代码 gl = getWebglCanvas() if (!...而且非常不幸的是,即便禁止了js但是还可以通过css来采取浏览器的信息,例如: @media(device-width: 1080px) { body { background: url("
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 scrollWidth:获取对象的滚动宽度...offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度 offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置...要得到窗口的尺寸,对于不同的浏览器,需要使用不同的属性和方法:若要检测窗口的真实尺寸,在Netscape下需要使用Window的属性;在 IE下需要深入Document内部对body进行检测;在DOM环境下...--显示浏览器窗口的实际尺寸--> 浏览器窗口 的 实际高度: 浏览器窗口 的 实际宽度:...-- var winWidth = 0; var winHeight = 0; function findDimensions() //函数:获取尺寸 { //获取窗口宽度
当想要实现多语种时,需要获取浏览器的当前语言 最直接的,就是访问浏览器内置的 navigator.language 属性: var lang = navigator.language 根据你的浏览器的设置...,这段代码会返回不同的值,比如 zh-CN、en-US、zh-TW、zh 之类,如下图: 这个值表示当前浏览器的首选语言
"> var type = navigator.appName; if (type == "Netscape"){ var lang = navigator.language;//获取浏览器配置语言...,支持非IE浏览器 }else{ var lang = navigator.userLanguage;//获取浏览器配置语言,支持IE5+ == navigator.systemLanguage... }; var lang = lang.substr(0, 2);//获取浏览器配置语言前两位 if (lang == "zh"){ alert(lang); //window.location.replace...url'); }else{//其他语言编码时打开以下链接 window.location.replace('url'); }; 文中截取lang的前2位字符,是因为浏览器语言返回值可能是
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 scrollWidth:获取对象的滚动宽度... offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度 offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置...要得到窗口的尺寸,对于不同的浏览器,需要使用不同的属性和方法:若要检测窗口的真实尺寸,在Netscape下需要使用Window的属性;在IE下需要 深入Document内部对body进行检测;在DOM环境下...TR/xhtml1/DTD/xhtml1-transitional.dtd"> 请调整浏览器窗口...--显示浏览器窗口的实际尺寸--> 浏览器窗口 的 实际高度: 浏览器窗口 的 实际宽度: <input
那么浏览器指纹也是同理,获取浏览器具有辨识度的信息,进行一些计算得出一个值,那么这个值就是浏览器指纹。...),是可以让浏览器有音视频实时通信的能力,它提供了三个主要的API来让JS可以实时获取和交换音视频数据,MediaStream、RTCPeerConnection和RTCDataChannel。...List of fonts(JS),通过js获取页面支持的字体情况。获取页面支持的字体分为两种方式,Flash和JS,现在Flash渐渐退出了舞台就不考虑它了。...指纹(通过检测对HTML5 Canvas对象的读取并要求用户批准)来防止,例如上面获取Cavans指纹的代码,在Tor上会弹出如下警告 ?...感兴趣的同学可以尝试一下Tor Browser 禁用JS 这是一个比较暴力的方法,直接禁止网站使用JavaScript可以非常有效地防御浏览器指纹追踪,但是这样会导致页面较大部分地功能不可用。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 scrollWidth:获取对象的滚动宽度...offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度 offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置...xhtml1/DTD/xhtml1-transitional.dtd"> 请调整浏览器窗口...="content-type" content="text/html; charset=gb2312"> 请调整浏览器窗口大小...--显示浏览器窗口的实际尺寸--> 浏览器窗口 的 实际高度: 浏览器窗口 的 实际宽度
说是 JS,其实也还是要配合 CSS 使用。 要获取浏览器默认字体大小,我们可以使用 CSS 的 font-size 属性。...以下是设置元素字体大小的 CSS 代码示例: .element { font-size: medium; } 一旦将元素字体大小设置为浏览器默认大小,就可以通过 JavaScript 来获取其实际值...下面的代码演示了如何使用 JavaScript 获取浏览器默认字体大小: const measureElement = document.querySelector('.element'); let fontSize...然后,使用 getComputedStyle() 方法获取该元素的计算样式,即应用于该元素的实际样式。 最后,使用 parseInt() 方法将获取到的字体大小值转换为整数。...需要注意的是,如果浏览器默认字体大小被修改,例如在 Chromium 浏览器中将其更改为"特大",则返回值将相应地更改。
https://developer.mozilla.org/zh-CN/docs/Web/API/Window/matchMedia
浏览器指纹识别 浏览器指纹识别是继cookie和supercookie之后进行用户跟踪的第三条途径。...指纹识别是由网站方发起的,这些网站分析HTTP客户端发送的请求,通过收集数字指纹来唯一标识特定计算机。以这种方式获取的数据即使在删除cookie后也可以用于持续跟踪用户。...浏览器指纹识别如何运作 浏览器指纹识别是一种十分有效的数据收集方式,可散列独有的浏览器参数并创建数字签名。...HTML5画布通常会要求浏览器呈现特定图像。由于GPU渲染图像的方式略有不同,因此可能会获取特定设备的详细信息。 时钟偏斜 极端措施包括分析时钟偏斜。...改善浏览器唯一性是一种趋势,目前最有效的措施是禁用JavaScript,但是一旦禁用JS就会在显示网站时引发各种客户端问题。
获取屏幕宽度:window.screen.width; //整个屏幕的宽度 获取屏幕高度:window.screen.height; //整个屏幕的高度 2.获取可用工作区尺寸 获取屏幕可用工作区域宽度...; 4.获取网页的宽高 获取整个网页的宽度:document.body.scrollWidth 获取整个网页的高度:document.body.scrollHeight 5.获取body的宽高(含边框...获取滚动条到左边的距离:document.body.scrollLeft / document.documentElement.scrollLeft 二、JQ部分 1、获取当前窗口浏览器宽高 获取当前窗口浏览器可视区域宽度...:$(window).width(); 获取当前窗口浏览器可视区域高度:$(window).height(); 2、获取当前窗口文档高宽 获取当前窗口文档宽度:$(document).width();...获取当前窗口文档高度:$(document).height(); 3、获取当前窗口body高宽 获取body宽度:$(document.body).width(); 获取body高度:$(document.body
jQuery 如果您使用的是jQuery,则可以使用jQuery方法获取窗口或document的大小: /** * 时间:2019年8月18日 * 前端教程: https://www.pipipi.net
WebGL指纹 通过HTMLCanvasElement元素可以获取到Webgl对象(canvas.getContext("webgl")),通过此对象可以获取到用户的硬件信息,比如显卡名称、显卡型号、显卡制造商等...两种方法都是在音频输出到音频设备之前进行清除,用户根本就毫无察觉就被获取了指纹。...,它提供了三个主要的API来让JS可以实时获取和交换音视频数据,MediaStream、RTCPeerConnection和RTCDataChannel。...常用的手段是,通过浏览器的扩展插件,阻止网站获取各种信息,或者返回个假的数据,这种方式是在网页加载前就执行一段JS代码,更改、重写、HOOK了js的各个函数来实现的,因为JS的灵活性给这种方式提供的可能...更好的手段是从浏览器底层做处理,从浏览器底层修改API使得这些在js层获取的信息并不唯一,不管如何组合都不能生成一个唯一的代表用户的指纹。
获取到跟JadxGui工具获取到的是一样的。...如果你应用开发完毕了,可以直接上传apk获取上面三个参数 添加描述如果你没有apk,有app打包时用的证书也可以帮你获取的,输入证书密码就可以从证书拿到对应参数。...苹果信息获取苹果的包名获取就很简单了,可以去苹果开发者中心identify栏目、拿到描述文件mobileprofile以文本方式打开,等方法很多。...添加描述输入证书密码后就可以看到公钥指纹等信息了,这几个参数跟苹果电脑的钥匙串工具获取到的是一样的添加描述如果我没有p12证书咋办呢,先在工具中点创建苹果证书生成一条csr证书请求文件,然后点导出p12...添加描述 在弹出窗中上传cer文件,此文件需要去苹果开发者中心下载,传到这里直接查看,无需输入密码添加描述 点击查看cer信息,也可以拿到上面的公钥、指纹等信息工具地址我放个人主页中了
某些情况下,我们需要获取浏览器类型及版本,来做些polyfill之类的。 寻找了一些解决方案,觉得下面这个写法相对完善一些。备忘下。...function IEVersion() { var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串...var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器...isIE; //判断是否IE的Edge浏览器 var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf...if(isIE11) { return 11; //IE11 }else{ return -1;//不是ie浏览器
领取专属 10元无门槛券
手把手带您无忧上云