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

岳阳做网站微信推广文案

岳阳做网站,微信推广文案,网站改版后 搜索不到,深圳做棋牌网站建设哪家好浏览器触摸屏概述 浏览器触摸屏信息主要是指浏览器可以检测并响应用户在触摸屏设备上进行的触摸操作。随着移动设备和触摸屏设备的普及,触摸事件(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://www.dtcms.com/wzjs/281493.html

相关文章:

  • 免费高清视频素材网seo全称是什么
  • 个人网站 怎么设计广州官方新闻
  • 淘宝做轮播广告哪个网站好排行榜
  • 在哪个网站做兼职淘宝客服自动app优化
  • 做电台需要的文章从哪个网站找seo 优化是什么
  • html5 响应式音乐网站进入百度搜索首页
  • 个人备案网站建设方案书成都网站设计
  • 商城系统下载aso优化公司
  • 公司做网站是管理费用在百度如何发布作品
  • 国模 wordpress武汉外包seo公司
  • 小学学校网站建设计划网站流量查询站长之家
  • 哪些网站做的最好代发新闻稿的网站
  • 买奢侈品代工厂做的产品的网站企业网站模板免费下载
  • 深圳市做网站知名公司有哪些搜索引擎营销简称
  • 自制100种少女心小物品搜索引擎外部优化有哪些渠道
  • 济南自适应网站建设宁波网站推广优化外包
  • 我要学习网站建设品牌宣传推广方案
  • 泰安工作招聘搜索引擎优化包括哪些内容
  • 网站自适应屏幕网站seo工具
  • 专业的门户网站建设方案商品推广软文范例300字
  • 网络营销有必要学吗seo优化上海牛巨微
  • 做招聘网站赚钱么网络营销策划方案范文
  • visual stdio 做网站 注册用户 密码必须6位以上网站推广的方法有哪些
  • 如何用二级域名做网站百度登录页
  • 做爰片姿势网站seo标签优化
  • 北京市丰台区建设部官方网站软文广告经典案例300大全
  • 系统供应商东莞seo优化团队
  • 中土南方建设有限公司网站石家庄seo优化
  • 毕业设计代做网站新闻热点事件
  • 网站有可能搜不到吗个人网页怎么制作