作为一名前端开发工程师,从桌面浏览器到移动设备上开发过度时总会遇到一些问题,下面我们就从我自己遇到问题开始学习和总结一些技术要点:
1. viewport:
大家在手机web开发中有没有遇到这样一个问题,在pc浏览器中显示正常但是到了手机浏览器中显示却密密麻麻,字体等变得很小掉,看都看不清楚。那是因为没有设置viewport,也就是可视区域。对于桌面浏览器,我们都很清楚viewport是什么,就是除去了所有工具栏、状态栏、滚动条等等之后可查看网页的区域,这是真正有效的区域。由于移动设备屏幕宽度不同于传统web,因此我们需要改变viewport;
viewport设置其实很简单,就一个meta
<meta id="viewport" name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
content中参数意思
width // viewport 的宽度 (范围从200 到10,000,默认为980 像素)
height // viewport 的高度 (范围从223 到10,000)
initial-scale // 初始的缩放比例 (范围从>0 到10)
minimum-scale // 允许用户缩放到的最小比例
maximum-scale // 允许用户缩放到的最大比例
user-scalable // 用户是否可以手动缩 (no,yes)
在设置了initial-scale=1 之后,我们终于可以以1:1 的比例进行页面设计了。关于viewport,还有一个很重要的概念是:iphone 的safari 浏览器完全没有滚动条,而且不是简单的“隐藏滚动条”,是根本没有这个功能。iphone 的safari 浏览器实际上从一开始就完整显示了这个网页,然后用viewport 查看其中的一部分。当你用手指拖动时,其实拖的不是页面,而是viewport。浏览器行为的改变不止是滚动条,交互事件也跟普通桌面不一样。
2.在移动设备中我们网页中的数字会自动识别为电话号码,解决办法也只要设置一个meta就ok,如下:
<meta content="telephone=no" name="format-detection" />
3.事件使用
在webapp开发中它包含以下三类触摸事件:
// 手势事件
touchstart //当手指接触屏幕时触发
touchmove //当已经接触屏幕的手指开始移动后触发
touchend //当手指离开屏幕时触发
touchcancel //当系统停止跟踪触发,关于此类事件的确切触发时间,文档中没有明确说明
// 触摸事件
gesturestart //当两个手指接触屏幕时触发
gesturechange //当两个手指接触屏幕后开始移动时触发
gestureend //离开时触发
// 屏幕旋转事件
onorientationchange
每个触摸事件都包括了三个触摸列表:
touches:当前位于屏幕上的所有手指的一个列表。
targetTouches:位于当前DOM元素上的手指的一个列表。
changedTouches:涉及当前事件的手指的一个列表。
每个触摸对象包含了以下触摸信息:
clientX / clientY:// 触摸点相对于浏览器窗口viewport的位置
pageX / pageY:// 触摸点相对于页面的位置
screenX /screenY:// 触摸点相对于屏幕的位置
identifier: // touch对象的unique ID
target: //DOM元素,是动作所针对的目标。
分享到:
相关推荐
### WebKit WebApp 开发技术要点深度解析 在当今移动互联网时代,WebApp因其跨平台性和易维护性,成为开发者构建移动应用的重要选择之一。WebKit作为一款广泛应用于移动设备的浏览器引擎,其对WebApp的支持尤为关键...
【Web App的优势】 Web App,即基于Web技术的移动应用程序,具有显著的优势。首先,它无需用户通过应用商店下载和安装,...随着技术的不断进步,Web App的潜力和影响力只会进一步增强,成为未来应用开发的重要趋势。
在移动应用开发领域,Hybrid App(混合应用)是一种结合了原生应用和Web应用特点的开发模式。...通过学习和实践这个Demo,开发者能够掌握Hybrid App开发的基本流程和技术要点,从而在混合移动开发领域提升自己的技能。
总结,AppWeb源码的深度学习不仅有助于理解HTTP服务器的工作原理,还能为开发人员提供一个强大的平台,进行定制化服务开发。通过分析和实践,我们可以从中学习到网络编程、多线程、内存管理、安全通信等多方面的知识...
本文章主要讲述了使用HTML5和CSS3进行Web应用和独立应用程序开发的基础知识和具体实施方法,重点介绍了开发工具HTML5 Builder的使用,以及在苹果iOS和谷歌Android设备上进行应用程序开发的技术要点。文章内容包括了...
今日头条APP案例开发文档主要讲解了基于H5+的APP开发的各种技术要点,包括H5+ Runtime的介绍、Mui和Hui框架的使用、项目部署、制作子窗口、数据加载、下拉刷新、新闻分类切换、上拉加载更多、懒加载、新闻详情页面...
### WebApp开发要点详解 在数字化时代,WebApp(网页应用程序)因其跨平台特性与便捷性,成为企业和开发者关注的焦点。本文将深入探讨WebApp开发的关键要素、特点及其与原生应用(Native App)的区别。 #### ...
这个过程通常称为Web App的封装或者Hybrid App开发,它结合了Web技术和原生APP的优点,允许开发者利用HTML、CSS和JavaScript等Web技术创建应用,同时能够访问设备的硬件功能,如摄像头、GPS等。 首先,我们需要理解...
- **系统设计与开发要点**: - 系统设计题:根据提供的模板,完成系统概要/详细说明书的编写。 - 改错题:基于给定的工程代码,定位并修复错误。 - 编程题:根据题目需求,自行设计并编码实现。 #### 五、评价...
《基于HTML5的APP应用开发》是一门针对软件技术专业的必修课程,旨在培养学生利用HTML5进行Web和移动APP开发的实践技能。课程强调理论与实践的结合,以就业为导向,参照行业职业标准,通过实际项目来提升学生的技术...
总的来说,"servlet实现的一个简单web程序"是一个学习和实践Servlet技术的好项目,涵盖了Web开发中基础且重要的方面。通过这样的项目,开发者可以深入理解Servlet的工作原理,以及如何利用Servlet构建交互式的Web...
Android 课程管理系统 App+Web 开发技术要点 一、移动互联网时代的 Android 平台开发 Android 平台的出现和发展,改变了移动设备的应用模式,使得用户可以轻松地获取自己需要的应用功能。 Android 平台的开源免费...
通过本文的学习,开发者可以掌握从前端界面设计到后端数据交互的基本流程和技术要点。 #### 二、技术栈介绍 1. **AppInventor**:一个由麻省理工学院开发的可视化编程平台,允许用户通过拖拽式编程创建Android应用...
在现代Web应用中,实时通信和消息推送是提高用户体验的关键因素。Go语言作为一个高效、简洁的编程语言,常被用于...在实际开发过程中,可以参考`web_push-master`项目中的代码示例,以更深入地理解和实践Web Push技术。
### Django Web 开发指南知识点概览...通过深入浅出的讲解,帮助读者从零开始构建实际的 Web 应用,并掌握 Django 框架的核心知识和技术要点。无论是初学者还是有一定经验的开发者,都能从中获得宝贵的启示和实用技巧。
基于微信小程序图书管理app技术要点: 1 此系统web端接口采用java语言和ssm框架实现 2 客户端和服务器通信数据,采用封装好的json数据格式 3 实现了图书的添加,修改,删除以及更加关键词查询图书的功能 基于...
在uni-app开发中,地图组件(Map)是一个常用的功能,特别是在构建移动应用时,它能够为用户提供导航、定位等服务。然而,在实际开发过程中,开发者可能会遇到地图层级问题,即地图与其他组件重叠或者交互不顺畅的...
### JSP动态WEB开发讲义...通过以上介绍,我们可以了解到JSP动态Web开发的基础知识和技术要点,这些内容是进行JSP应用开发不可或缺的一部分。在实际开发过程中,还需要结合具体需求和技术选型来进行深入学习和实践。
【标签】"mui 案例"表明这是一个使用mui开发的实例,mui是DCloud(即html5Plus+MUI)推出的一个开源前端框架,它基于HTML5技术,专为移动App开发设计,提供了丰富的UI组件和便捷的API接口,使得开发者能够快速构建跨...