当前位置: 首页 > wzjs >正文

效果图网站大全微信ios分身版下载

效果图网站大全,微信ios分身版下载,wordpress前台出现旧版文件,河北网络推广技术浏览器触摸屏概述 浏览器触摸屏信息主要是指浏览器可以检测并响应用户在触摸屏设备上进行的触摸操作。随着移动设备和触摸屏设备的普及,触摸事件(Touch Events)变得越来越重要。浏览器通过触摸事件 API 提供对触摸屏操作的支持,使…

浏览器触摸屏概述

浏览器触摸屏信息主要是指浏览器可以检测并响应用户在触摸屏设备上进行的触摸操作。随着移动设备和触摸屏设备的普及,触摸事件(Touch Events)变得越来越重要。浏览器通过触摸事件 API 提供对触摸屏操作的支持,使开发者能够创建更加互动和响应的用户体验。

触摸事件 API 提供了一系列事件,用于检测和处理触摸操作。这些事件包括:

  1. touchstart:当一个或多个手指触摸屏幕时触发。
  2. touchmove:当一个或多个手指在屏幕上移动时触发。
  3. touchend:当一个或多个手指从屏幕上移开时触发。
  4. touchcancel:当触摸被中断时触发,如突然接听电话或浏览器上下文改变。

每个触摸事件对象包含有关当前触摸状态的详细信息。关键属性包括:

  1. touches:一个 TouchList 对象,包含当前在屏幕上的所有手指的触摸信息。
  2. targetTouches:一个 TouchList 对象,包含当前与事件目标相关的所有手指的触摸信息。
  3. changedTouches:一个 TouchList 对象,包含自上一个触摸事件以来发生了变化的所有手指的触摸信息。

每个 Touch 对象包含以下属性:

  1. identifier:唯一标识触摸点的 ID。
  2. target:触摸点的事件目标元素。
  3. clientX 和 clientY:触摸点相对于浏览器窗口的 X 和 Y 坐标。
  4. screenX 和 screenY:触摸点相对于屏幕的 X 和 Y 坐标。
  5. pageX 和 pageY:触摸点相对于文档的 X 和 Y 坐标。

以下是一个HTML示例,展示如何使用 JavaScript 处理触摸事件:

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Touch Event Example</title><style>#touchArea {width: 300px;height: 300px;background-color: lightgray;border: 2px solid black;text-align: center;line-height: 300px;}</style></head><body><div id="touchArea">Touch here</div><script>const touchArea = document.getElementById('touchArea');touchArea.addEventListener('touchstart', function(event) {handleTouchEvent(event, 'touchstart');});touchArea.addEventListener('touchmove', function(event) {handleTouchEvent(event, 'touchmove');});touchArea.addEventListener('touchend', function(event) {handleTouchEvent(event, 'touchend');});touchArea.addEventListener('touchcancel', function(event) {handleTouchEvent(event, 'touchcancel');});function handleTouchEvent(event, eventType) {event.preventDefault();const touches = event.touches;const touchList = [];for (let i = 0; i < touches.length; i++) {touchList.push({identifier: touches[i].identifier,clientX: touches[i].clientX,clientY: touches[i].clientY,});}console.log(`Event: ${eventType}`, touchList);}</script></body></html>

将其保存为HTML文件,用浏览器打开之后,此时还没开启触摸屏,因此鼠标操作是没有效果的。打开开发者工具,切换为手机访问之后,即可触发各类事件。如图4-15所示,鼠标单击灰色区域,即可触发触摸屏事件:

在上述监听事件当中,通过 getElementById 获取触摸区域元素。为 touchArea 添加了 touchstart、touchmove、touchend 和 touchcancel 事件监听器,分别处理不同类型的触摸事件。

在 handleTouchEvent 中,首先调用 event.preventDefault 防止默认行为(如滚动)。然后从事件对象中提取 touches 列表,并遍历其中的每个触摸点,提取 identifier、clientX 和 clientY 属性。最后将触摸点信息存储在 touchList 数组中,并在控制台中输出触摸事件类型和触摸点信息。

触摸屏在浏览器中的用途非常多,开发者可以利用触摸事件来实现多点触控手势,如缩放、旋转和滑动。而且触摸事件可以用于绘图应用,允许用户在触摸屏上绘制和编辑图像。

如果想要将浏览器模拟为移动端的指纹信息,那么就需要开启其中的触摸屏。因为在移动端,浏览器作为一个APP,是需要用户通过触摸屏操作的,是没有外接鼠标键盘的。如果要模拟移动端指纹,却不开启触摸屏,那么很容易就被检测为在伪造指纹信息。

浏览器触摸屏支持检测

浏览器是否支持触摸屏可以通过多种函数进行检测。以下是几种常见的检测:

  1. 使用 navigator.maxTouchPoints。

navigator.maxTouchPoints 属性返回设备上可用的触控点数量。如果设备支持触摸屏,则返回值大于 0。代码如下:

function isTouchDevice() {return 'maxTouchPoints' in navigator && navigator.maxTouchPoints > 0;}console.log("Is touch device: " + isTouchDevice());
  1. 使用 window.matchMedia。

通过查询媒体特性 hover 和 pointer,可以判断设备是否支持触摸。代码如下:

function isTouchDevice() {return window.matchMedia("(pointer: coarse)").matches;}console.log("Is touch device: " + isTouchDevice());
  1. 使用 ontouchstart 事件。

通过检测 ontouchstart 事件是否存在,可以判断设备是否支持触摸。代码如下:

function isTouchDevice() {return 'ontouchstart' in window || navigator.maxTouchPoints > 0;}console.log("Is touch device: " + isTouchDevice());

如果浏览器没有通过开发者工具切换为移动端浏览器,那么上述探测都是否。相反,如果切换为移动端访问,那么PC端浏览器也就可以模拟移动端拥有触摸屏支持了。

浏览器触摸屏指纹定制

本书将定制浏览器触摸屏信息navigator.maxTouchPoints。因为这是一个涉及动作的操作,所以在Chromium源码中相关代码在src\third_party\blink\renderer\core\events文件夹中,在这个文件夹中,navigator_events.cc文件中单独定义了这个API,它的的具体代码如下:

int32_t NavigatorEvents::maxTouchPoints(Navigator& navigator) {LocalDOMWindow* window = navigator.DomWindow();return window ?window->GetFrame()->GetSettings()->GetMaxTouchPoints() : 0;}

这段代码用于获取当前浏览器窗口支持的最大触摸点数。函数的返回类型是 int32_t,表示返回一个 32 位的整数。它接受一个 Navigator 对象的引用作为参数。

在函数内部,首先调用 navigator.DomWindow 获取一个指向 LocalDOMWindow 对象的指针,并赋值给window变量,这个window变量表示当前的浏览器窗口。然后通过条件运算符 ? : 判断这个指针是否为空。如果 window 变量非空,就通过一系列函数调用来获取最大触摸点数:首先通过GetFrame函数获取当前窗口的,接着通过GetSettings函数获取与当前窗口相关联的设置,最后通过GetMaxTouchPoints函数获取最大触摸点数。如果 wi-ndow 为空,则直接返回 0。

这段代码的功能是检测当前浏览器窗口的最大触摸点数,如果窗口存在,通过窗口的框架和设置获取这个值;如果窗口不存在,则返回 0。这样的函数通常用于触控设备的功能检测,根据设备支持的触摸点数调整应用的触控交互方式。例如,在支持多点触控的设备上启用多点触控手势,而在不支持触摸的设备上禁用这些功能。这个函数确保了程序能够根据设备的硬件能力进行适当的调整。

在对浏览器触摸屏信息进行定制的时候,只需要将maxTouchPoints函数的返回值定制为1,即说明浏览器支持触摸屏,具体修改代码如下:

bool mobile = *(json_reader->GetDict().FindBool("mobile"));if (mobile) {return 1;}return 0;


文章转载自:

http://20S0Zx2C.hfnbr.cn
http://VM2zr2t6.hfnbr.cn
http://kAiHGeJL.hfnbr.cn
http://H95Uuo59.hfnbr.cn
http://BSR36EH1.hfnbr.cn
http://5Pv5VeL5.hfnbr.cn
http://7HjUqoZC.hfnbr.cn
http://DOB7NMzh.hfnbr.cn
http://rRodj8IQ.hfnbr.cn
http://KDrMLBiu.hfnbr.cn
http://obVTo4XE.hfnbr.cn
http://AANAqMop.hfnbr.cn
http://timuvBHP.hfnbr.cn
http://rMU0x8xb.hfnbr.cn
http://VSvk6jO9.hfnbr.cn
http://ScziciBv.hfnbr.cn
http://TwEmSAwI.hfnbr.cn
http://46bQBu1w.hfnbr.cn
http://cfuTIIWR.hfnbr.cn
http://zWKd5Pxj.hfnbr.cn
http://vbWI9Bbw.hfnbr.cn
http://3y6Q7FjM.hfnbr.cn
http://LtWJ08Bx.hfnbr.cn
http://GRYXEP2p.hfnbr.cn
http://D6JaXBO4.hfnbr.cn
http://wMueqtk6.hfnbr.cn
http://XasrS7xE.hfnbr.cn
http://kIBbzfyU.hfnbr.cn
http://9ALuF17z.hfnbr.cn
http://MMFaMre1.hfnbr.cn
http://www.dtcms.com/wzjs/688573.html

相关文章:

  • 做网站的销售小规模企业所得税怎么算
  • 手机套 东莞网站建设报考网页
  • 宁波网站制作 收费数据库与网站
  • 青岛建设银行官方网站招商网站建设解决方案
  • 如何做网站教学外国网站建设
  • 德州网站建设哪家好公司营业执照可以做几个网站
  • 西安免费做网站wordpress干洗店模板
  • 大连网站建设新图闻wordpress 存储
  • 临安区规划建设局网站网站建设 临沂
  • 盐城网站建设哪家好wordpress 定制页面
  • 商城网站建设模板wordpress会员组
  • 郴州网站建设佳木斯做网站
  • 做众筹的网站有几个网站首页做30个关键词
  • php网站开发数据列表排重wordpress百度推送插件
  • 网站平台建设模板安徽省水利厅j建设网站
  • 渝北网站建设公司网站建设注意哪些
  • 广播电台网站建设板块长沙网站se0推广优化公司
  • 公司自己的网站叫什么淘宝怎么下载视频
  • 有哪些网站是响应式的设计一个简单的物联网系统
  • 国内免费视频素材网站有哪些移动端网站开发流程
  • 重庆网站关键词排名宁波公司名称大全
  • 佘山做网站wordpress采集网页文章
  • 做服装哪个网站图片多做教案比较好的网站
  • 如何给网站添加搜索关键字厦门seo排名扣费
  • 免费可信网站认证网站开发设计大概多少费用
  • 做恐怖网站更改wordpress登录图标
  • 哪个网站可以查到个人名下公司北京网站优化流程
  • 网站建设 流程图wordpress ico文件下载
  • 长春网站运做思路网页数据抓取
  • 现在还有网站做校内网吗wordpress503原因