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

岳阳做网站如何做线上销售和推广

岳阳做网站,如何做线上销售和推广,wordpress d8,单页网站怎么做浏览器触摸屏概述 浏览器触摸屏信息主要是指浏览器可以检测并响应用户在触摸屏设备上进行的触摸操作。随着移动设备和触摸屏设备的普及,触摸事件(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/351481.html

相关文章:

  • 网站建设工资一月多少谷歌seo关键词优化
  • 微商城 分销平台甘肃新站优化
  • 徐州做网站管理的公司哪个公司的网站制作
  • 做网站服务器用国外的网站创建的流程是什么
  • 企业网站建设比较调查怎么写有没有永久免费crm
  • qq在线网站代码google play下载安卓
  • 百度网站官网入口百度竞价推广代运营
  • 祁东网站建设优化大师人工服务电话
  • 小米发布会最新sem和seo是什么
  • 家教中介网站怎么做学员引流seo优化快速排名技术
  • 2022最近比较火的热点话题seo云优化
  • 南京建设人才网站百度文库个人登录入口
  • 手机免费制作软件下载杭州seo教程
  • 建设网站时 首先要解决两个问题 一是什么宿迁网站建设制作
  • 选择合肥网站建设seo外包服务方案
  • 怎样做网站seo优化内存优化大师
  • 金华app网站开发如何提升关键词的自然排名
  • 重庆网站建设行业新闻培训中心
  • 没有外网ip怎么做网站域名反查
  • wordpress autoblog搜索引擎优化seo论文
  • 有做喜糖的网站吗什么建站程序最利于seo
  • 深圳市建设局质监站官方网站推推蛙seo
  • 江西机场建设集团网站杭州小程序建设公司
  • 宿州做网站seo主要做什么
  • 企业建站找哪个公司长春网站制作系统
  • 叫人做网站后不提供源码品牌seo主要做什么
  • wordpress 动态网站模板seo做关键词怎么收费的
  • 怎么弄一个自己的网站哈尔滨网络优化推广公司
  • 企业标准版网站建设网址查询域名
  • 川畅咨询 做网站多少钱站长之家ping