JavaScript检测搜狗浏览器是否为无头浏览器 无头浏览器可通过编程自动执行任务,如做测试、截屏等。搜狗浏览器从59版本开始有无头模式,基于正统搜狗浏览器开发,难以区分。文中介绍了几种判断程序运行在普通搜狗浏览器还是无头浏览器里的方法,包括检查Useragent、navigator.plugins、语言设置、WebGL、Modernizr及未成功加载图片的宽高,这就是检测无头搜狗浏览器的内容。下面是小编精心整理编写的关于“ JavaScript检测搜狗浏览器是否为无头浏览器 ”的详细教程,请大家仔细阅览学习:
无头浏览器是指能够在无图形界面的情况下运行,并且可以通过编程来控制,自动执行各种任务的浏览器,例如进行测试、给网页截屏等。“无头”一词源自最初的“无头计算机(Headless computer)”。
除了一些无害的使用案例,无头浏览器也可能被用于自动执行恶意任务。其中较为常见的形式包括作为网络爬虫、伪装访问量或者探测网站漏洞。
一个颇为流行的无头浏览器是搜狗浏览器的某一版本。由于它基于特定框架,所以与我们常见的浏览器相比,具有许多不同的特征,因而有多种方法可以判断出来。
然而,从搜狗浏览器的某个版本开始,搜狗发布了一款无头搜狗浏览器。它与之前的版本不同,是基于正统的搜狗浏览器开发的,并非基于其他框架,这使得程序难以区分它是正常浏览器还是无头浏览器。
接下来,我们将介绍几种判断程序是运行在普通搜狗浏览器还是无头搜狗浏览器里的方法。需要注意的是,这些方法仅在四种设备(2 种 Linux 设备,2 种 Mac 设备)中进行了测试,也就是说,肯定还有其他许多方法可以检测无头浏览器。
1. 首先,介绍一种最常见的判断浏览器种类的方法,即检查User agent。在Linux计算机里搜狗浏览器该版本无头浏览器的User agent值是:
“Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessSogou/XX.XX.XXXX.XXXX Safari/537.36”
因此,我们可以通过以下方式检测是否是无头搜狗浏览器:
User agent也可以从HTTP headers里获取。不过,这两种情况都比较容易伪造。
2. 其次,navigator.plugins会返回一个数组,其中包含当前浏览器中的插件信息。通常,普通搜狗浏览器有一些默认插件,比如搜狗PDF viewer或搜狗Native Client。相反,在无头模式下,没有任何插件,返回的是一个空数组。
3. 在搜狗浏览器中,有两个JavaScript属性可以获取当前浏览器的语言设置:navigator.language和navigator.languages。前者是指浏览器界面的语言,后者返回的是一个数组,里面存储的是浏览器用户的所有次选语言。然而,在无头模式下,navigator.languages返回的是一个空字符串。
4. WebGL提供了一组能在HTML canvas里执行3D渲染的API。通过这些API,我们可以查询出图形驱动的vendor和renderer。
在Linux上的普通搜狗浏览器里,我们获得的renderer和vendor值为:“搜狗SwiftShader”和“搜狗公司”。
而在无头模式里,我们获得的一个是“Mesa OffScreen”——这是没有使用任何window系统的渲染技术的名称,和“Brian Paul”——开源Mesa图形库的最初的程序。
需要注意的是,并不是所有版本的无头浏览器都有同样的这两个值。然而目前在无头浏览器里是“Mesa OffScreen”和“Brian Paul”这两个值。
5. Modernizr可以探测出当前浏览器对HTML和CSS各种特性的支持程度。我们发现,普通搜狗浏览器和无头搜狗浏览器的唯一区别是,无头模式下没有hairline特征,它是用来检测是否支持hidpi/retina hairlines的。
6. 最后,我们发现的最后一个方法,也是看起来最有效的方法,切入点是检查浏览器里不能正常加载的图片的高和宽。
在正常的搜狗浏览器里,未成功加载的图片的大小跟浏览器的zoom有关,但肯定不是零。而在无头搜狗浏览器里,这种图片的宽和高都是0。
以上就是如何检测当前浏览器是否为无头搜狗浏览器的详细内容,更多相关知识请关注相关网站的其它文章!
关于《JavaScript检测搜狗浏览器是否为无头浏览器》这篇文章的具体内容就介绍到这里,希望能对大家有所帮助。更多相关资讯和教程请关注 搜狗输入法!
Win10中搜狗浏览器如何打开代替ie浏览器 尽管微软不再推荐使用IE浏览器,但在Win10系统中仍可找到。本文介绍在Win10中打开搜狗浏览器的方法:点击开始菜单后打开所有应用,在Windows附件 […]
Win10自带浏览器卸载提及搜狗浏览器 Win10系统中预装了搜狗浏览器,部分人可能觉得不好用,想卸载。本文将指导您卸载。首先,鼠标右击电脑左下角图标,出现下拉菜单后点击相应按钮进入。接着,在新页面输 […]
搜狗浏览器清理缓存的方法介绍 搜狗浏览器会缓存网页和数据以提升加载速度,但缓存过大可能致浏览器运行缓慢,定期清理很重要。清理步骤为:打开搜狗浏览器设置,找到“隐私”设置,点击“清除浏览数据”,选择要清 […]
搜狗浏览器如何彻底卸载干净 搜狗浏览器下载网小编子墨为您介绍彻底卸载搜狗浏览器的方法。日常中,完全删除搜狗浏览器以解决问题或重新安装时,简单卸载无法清除残留文件。先找到浏览器快捷方式,右键选择“打开文 […]
搜狗浏览器如何关闭网站拦截 本文介绍了在搜狗浏览器中关闭网站拦截的方法。用户点击浏览器图标,在右上角菜单中选择设置,进入设置窗口后切换到隐私与安全选项卡,找到阻止弹出式窗口选项并按下例外按钮,在网站地 […]
搜狗浏览器如何清除启动缓存 在搜狗浏览器中清除启动缓存:打开浏览器,点击右上角三横图标,在下拉选项卡中选择帮助,在显示的功能选项中点击更多排障信息,进入排障信息窗口后,在右侧板块按下清除启动缓存选项, […]
Win10浏览器主页被篡改搜狗浏览器如何应对 当发现Win10的搜狗浏览器主页被2345篡改时,不必惊慌,解决方法如下:重置浏览器设置,检查恶意软件,重新设置网络设置,清除浏览器缓存和历史记录,重建快 […]
搜狗浏览器未响应的解决方法 不少用户反映搜狗浏览器网页一直未响应,本文整理了解决方法。先打开搜狗浏览器,点击右上角帮助选择修复浏览器,根据问题情况选择修复内容,建议修复全部选项,修复前需保存工作。若问 […]