热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

挪动web开辟题目和经验总结

媒介这里大部份是本身碰到过的状况,另有一部份自创了偕行的文章,假如人人有碰到别的坑,迎接提出来一同研讨。学问要点1.Meta标签1.制止用户缩放页面,页面强迫让文档的宽度与装备的宽

媒介

这里大部份是本身碰到过的状况,另有一部份自创了偕行的文章,假如人人有碰到别的坑,迎接提出来一同研讨。

学问要点

1. Meta标签

  • 1.制止用户缩放页面,页面强迫让文档的宽度与装备的宽度坚持1:1

  • 2.制止ios上自动识别电话

  • 3.制止android上自动识别邮箱

  • 4.针对ios上的safari上地点栏和顶端款式条的


2. JS和jquery猎取种种屏幕的宽度和高度的代码

// Javascript:
网页可见地区宽: document.body.clientWidth
网页可见地区高: document.body.clientHeight
网页可见地区宽: document.body.offsetWidth (包含边线的宽)
网页可见地区高: document.body.offsetHeight (包含边线的高)
网页正文全文宽: document.body.scrollWidth
网页正文全文高: document.body.scrollHeight
网页被卷去的高: document.body.scrollTop
网页被卷去的左: document.body.scrollLeft
网页正文部份上: window.screenTop
网页正文部份左: window.screenLeft
屏幕分辨率的高: window.screen.height
屏幕分辨率的宽: window.screen.width
屏幕可用事情区高度: window.screen.availHeight
屏幕可用事情区宽度: window.screen.availWidth
// Jquery:
$(document).ready(function(){
  alert($(window).height()); //阅读器当前窗口可视地区高度
  alert($(document).height()); //阅读器当前窗口文档的高度
  alert($(document.body).height());//阅读器当前窗口文档body的高度
  alert($(document.body).outerHeight(true));//阅读器当前窗口文档body的总高度 包含border padding margin
  alert($(window).width()); //阅读器当前窗口可视地区宽度
  alert($(document).width());//阅读器当前窗口文档对象宽度
  alert($(document.body).width());//阅读器当前窗口文档body的宽度
  alert($(document.body).outerWidth(true));//阅读器当前窗口文档body的总宽度 包含border padding margin
})

3. 打电话发短信

打电话给:020-88888888
发短信给: 911

4. 图片优化

  • 1.base64编码图片替代url图片;
  • 2.图片紧缩,供应一个网站用于紧缩;
  • 3.图片懒加载;
  • 4.img和background

    • img:html中的标签img是网页构造的一部份会在加载构造的历程中和其他标签一同加载;
    • background:以css背景图存在的图片background会比及构造加载完成(网页的内容悉数显现今后)才最先加载;

so,网页会先加载标签img的内容,再加载背景图片background援用的图片

5. H5制止手机屏幕横屏的变相操纵

挪动装备上的页面,当屏幕扭转的时刻会有一个orientationchange事宜,能够给body元素增添此事宜的监听:

进入监听要领中,经由过程window。orientation来猎取当前屏幕的状况:

  • 0 — 竖屏
  • 90 — 逆时针扭转横屏
  • -90 — 顺时针扭转横屏
  • 180 — 竖屏,上下颠倒

处理要领:

  • 1.你能够在装备扭转时候监听里面临body运用CSS3里面的transition中的扭转来坚持页面竖向;
  • 2.此要领只适用于安卓手机




技能与必知

1. 原生js的事宜监听和jquery的事宜绑定在ios中失效:

运用事宜监听或事宜绑定时,由于父元素挑选body或document元素,致使在ios中事宜触发无效,所以不运用body和document元素作为父级元素。

2. navigator.onLine兼容性题目,需谨慎运用;

3. ios中日期显现为NaN:

Date的日期花样,在ios中有兼容性题目,ios的日期会显现成:NaN;

处理要领:在ios中支撑”2017/12/26 19:36:00″,而不支撑”2017-12-26 19:36:00″花样,背面一种花样,在ios中显现Nan (Android中都能够显现平常)

4. 挪动端1px的题目:

由于差别的手机有差别的像素密度,css中的1px并不等于挪动装备的1px。项目中运用js和rem做挪动端的屏幕适配,所以发生0.5px的状况,致使低版本的手机展现不了0.5px的边框。

处理要领:运用css处理1px的题目,而且给须要设置成1px的dom元素直接写上:border-width:1px;

5. 页面转动条题目:

web页面在PC阅读器上阅读时有转动条;然则,在挪动端阅读器翻开时,没有转动条

处理要领:将页面的最外层(我平常在写页面时,会在body标签内写一个大容器,用于寄存页面的内容)设置overflow:auto/scroll;而且不能设置height属性的值(height:100%也不可)

6. 长按闪退的题目:

列表页的列表项时(触摸到笔墨),在低版本手机中会涌现闪退的状况

处理要领:

js部份:在事宜触发时增加e.preventDefault();,用于阻挠默许行动
css部份:增加制止文本文本复制的代码 -webkit-touch-callout: none; user-select: none;

7. ios中,除body外的部分转动,会涌现卡顿题目

处理方案:在要转动元素上加上

-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;

8. 在ios上,input默许款式和表单的disabled属性带来的重影款式

  • 1.去掉input的默许款式

input,button,textarea{-webkit-appearance: none;}

  • 2.由于ios默许了disabled属性时透明度为0.8,处理:

input:disabled, input[disabled]{ -webkit-opacity:1; opacity: 1; }

9. 慎用fixed规划

css中position: fixed定位会由于其父元素上能够设置了transform属性而失效。

微信端

1. 安卓在微信端不能运用window.location.reload()

处理要领:运用url地点后加随机数来处理

2. ios下的微信页面背景音乐没法自动播放题目

这个题目我有碰到过,然后网上了找了处理要领,然则没有结果,所以只能改用最先挪动播放音乐。

Other

  1. zepto的scroll事宜默许绑在window上的
  2. app抓包
  3. 阅读器衔接安卓机测试

有用网站

  1. flexible适配
  2. 测试兼容性网站
  3. 前端开辟
  4. 雅虎36条优化原则

推荐阅读
  • 使用 ModelAttribute 实现页面数据自动填充
    本文介绍了如何利用 Spring MVC 中的 ModelAttribute 注解,在页面跳转后自动填充表单数据。主要探讨了两种实现方法及其背后的原理。 ... [详细]
  • 使用REM和媒体查询实现响应式布局
    本文介绍如何利用REM单位和媒体查询(Media Queries)来创建适应不同屏幕尺寸的网页布局。通过具体示例,展示在不同屏幕宽度下如何调整页面元素的样式。 ... [详细]
  • SPFA算法详解与应用
    当图中包含负权边时,传统的最短路径算法如Dijkstra不再适用,而Bellman-Ford算法虽然能解决问题,但其时间复杂度过高。SPFA算法作为一种改进的Bellman-Ford算法,能够在多数情况下提供更高效的解决方案。本文将详细介绍SPFA算法的原理、实现步骤及其应用场景。 ... [详细]
  • 探索OpenWrt中的LuCI框架
    本文深入探讨了OpenWrt系统中轻量级HTTP服务器uhttpd的工作原理及其配置,重点介绍了LuCI界面的实现机制。 ... [详细]
  • LoadRunner中的IP欺骗配置与实践
    为了确保服务器能够有效地区分不同的用户请求,避免多人使用同一IP地址造成的访问限制,可以通过配置IP欺骗来解决这一问题。本文将详细介绍IP欺骗的工作原理及其在LoadRunner中的具体配置步骤。 ... [详细]
  • 本文探讨了Java编程语言中常用的两个比较操作符==和equals方法的区别及其应用场景。通过具体示例分析,帮助开发者更好地理解和使用这两个概念,特别是在处理基本数据类型和引用数据类型的比较时。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文概述了在GNU/Linux系统中,动态库在链接和运行阶段的搜索路径及其指定方法,包括通过编译时参数、环境变量及系统配置文件等方式来控制动态库的查找路径。 ... [详细]
  • 本文详细介绍了如何使用Rufus工具制作一个兼容UEFI启动模式的Windows Server 2008 R2安装U盘,包括必要的软件和步骤。 ... [详细]
  • 本文介绍如何使用 Python 计算两个时间戳之间的时间差,并将其转换为毫秒。示例代码展示了如何通过 `time` 和 `datetime` 模块实现这一功能。 ... [详细]
  • 使用jQuery与百度地图API实现地址转经纬度功能
    本文详细介绍了如何利用jQuery和百度地图API将地址转换为经纬度,包括申请API密钥、页面构建及核心代码实现。 ... [详细]
  • 本文详细对比了HashMap和HashTable在多线程环境下的安全性、对null值的支持、性能表现以及方法同步等方面的特点,帮助开发者根据具体需求选择合适的数据结构。 ... [详细]
  • 本文介绍了一种在 Android 开发中动态修改 strings.xml 文件中字符串值的有效方法。通过使用占位符,开发者可以在运行时根据需要填充具体的值,从而提高应用的灵活性和可维护性。 ... [详细]
  • Docker基础入门与环境配置指南
    本文介绍了Docker——一款用Go语言编写的开源应用程序容器引擎。通过Docker,用户能够将应用及其依赖打包进容器内,实现高效、轻量级的虚拟化。容器之间采用沙箱机制,确保彼此隔离且资源消耗低。 ... [详细]
  • 本文探讨了在AspNetForums平台中实施基于角色的权限控制系统的方法,旨在为不同级别的用户提供合适的访问权限,确保系统的安全性和可用性。 ... [详细]
author-avatar
电信他爹_186
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有