Web 开发者经常在找一些新的方法来不断的提升页面的速度和性能,而 HTML5 的很多新特性可以实现,让用户有着更好的体验,在这里我们整理了 9 中简单易于实现的 HTML5 技巧,或许可以对你有所帮助。

1. 使用 HTML5 表单和输入框

HTML5 引入很多全新的表单属性和输入框类型,虽然并不是所有的浏览器都支持,但它们的确都很有用:

autofocus 使得页面加载完毕后自动为某个输入框设置输入焦点

placeholder 允许你为输入框设置默认文本,并在获取焦点时自动清除

required 属性要求必须填写值后才能提交表单

pattern 可以通过正则表达式指定输入框允许输入的内容

因为这些功能都是内置的,无需使用 JavaScript 方法来实现,第一是节省开发时间,同时也让页面具有更好的适应性。

2. 使用 CSS 转换效果

使用 CSS 转换效果来替换 JavaScript 的方法可以提升页面元素在两种状态进行转换的速度,通过使用 totheleft 和 totheright 你可以迅速移动一个框。例如:

01

div.box {

02

left:50px;

03

//for webkit browsers

04

-webkit-transition:all 0.3s ease-out;

05

//for mozilla

06

-moz-transition:all 0.3s ease-out;

07

//for opera

08

-o-transition:all 0.3s ease-out;

09

//other browsers

10

transition:all 0.3s ease-out;

11

}

12

13

div.box.totheleft {

14

left:0px;

15

}

16

17

div.box.totheright {

18

left:80px;

19

}

首先使用CSS的方法可减少页面的代码量,而且动画的执行也更加快速。

3. 使用 HTML5 Web 存储

但你需要在浏览器上存储一些数据时,你可能会首先考虑到 Cookie,这些 Cookie 在每次浏览器请求时都会附带上。而 HTML5 更有效的方法就是本地存储 —— Web Storage。

有两个 Web Storage 对象分别是:sessionStorage 和 localStorage ,这些存储的数据是不会通过 HTTP 请求来传输的,因此不会对请求的时间参数任何影响,下面是一小段示例代码:

1

//check to see if localstorage is present (browser supports HTML5)

2

if (('localStorage' in window) && window.localStorage !==null) {

3

//store items

4

localStorage.wishlist ='["Bear", "Cow", "Pig"]';

5

}

从上面代码我们可看到,比使用 Cookie 的方法更加简单,无需指定失效时间。

4. 使用 Web Workers

Web Workers 是 HTML5 规范内容之一,用于提供后台脚本运行支持。相当于是多线程的处理环境。示例代码:

1

var worker =new Worker('doWork.js');

2

3

worker.addEventListener('message',function(e) {

4

console.log('Worker said: ', e.data);

5

},false);

6

7

worker.postMessage('Hello World');// Send data to our worker.

Web Workers 可在很多场景下使用,例如图片处理、文本格式和以及大文件接收和处理等等。

5. 使用 Web Sockets

Web Sockets 用来实现跟远程主机的双路通讯,例如在 Web 浏览器和远程服务器之间,这是一个非常轻量级的通讯架构,带宽占用以及性能方面比标准 HTTP 要减少 3~5 倍。

因为 Web Sockets 必须使用 80 端口,因此 Web Sockets 不仅用来创建跟快速的通讯接口,还可以在 HTTP 之上实现跟高级的双路通讯。

6. 使用应用程序缓存

应用程序缓存可以让你创建完全支持离线浏览的 Web 应用,降低服务器负载以及更快的体验速度。可通过缓存的 manifest 文件来指定要缓存的文件,manifest 只是一个简单的文本文件,下面是一个示例:

01

CACHE MANIFEST

02

# 2011-06-18:v3

03

04

# Explicitly cached entries

05

index.htm

06

style.css

07

08

# offline.htm will be displayed if the user is offline

09

FALLBACK:

10

/ /offline.htm

你需要在HTML页面中启用缓存

1

2

...

3

Manifest 缓存文件可以定义缓存任意的文件扩展名,但你需要在 Web 服务器上设置对应的 MIME 类型,例如在 Apache 上:

1

AddType text/cache-manifest .appcache

使用应用程序缓存,你只需要简单几步就可以创建离线的 Web 应用,访问是非常快速,适合用来处理一些不经常更新的静态文件。

7. 使用 CSS 替代图片

使用 CSS 特效而不是图片是一个很简单的用来提升网页速度的方法,因为你无需重开 HTTP 请求来获取图片,而且一般图片大小也比几行 CSS 代码要大得多,下面是一些你可以用来替换图片的 CSS 特效:

CSS Masks

Box-shadow

Transforms

RGBA/Alpha opacity

Border-radius

Linear and radial gradients

8. 使用硬件加速

现在浏览器对硬件加速的支持还不普遍。如果你的应用有动画或者 3D 效果,那么启用硬件加速直接让 GPU 进行处理会大大提升这些动画和3D的速度。要使用硬件加速你需要用 HTML5 的 Canvas。

9. 使用客户端数据库

目前,主流浏览器在客户端数据库的支持上还没达成一致,除了 Web SQL 数据库和 IndexedDB 以外。通过对数据库的使用可以大大提升客户端数据存储的速度,而不是将数据重新发给服务器端。不仅可以减少 HTTP 请求,还可以大大降低服务器负载。

但不幸的是,大多数浏览器支持 Web SQL DB ,但 Mozilla 只支持 IndexedDB,这是你必须要考虑的问题。

如你所见,HTML5 带来很多很强大的新特性可以帮你加速 Web 开发以及响应速度,提供更好的用户体验。而你准备好了吗?

html5应用方法,9 个用来加速 HTML5 应用的方法相关推荐

  1. 华为html5不支持,华为携手云适配 共拓HTML5蓝海

    原标题:华为携手云适配 共拓HTML5蓝海 移动办公已经成为不可阻挡的潮流与趋势,随着移动互联技术的飞速发展,HTML5技术在企业级市场中开始逐渐兴起,并发展迅猛. 一直以来,华为的AnyOffice ...

  2. html5里可移动线性进度条的类型怎么表示,HTML5触摸事件实现移动端简易进度条的实现方法...

    这篇文章主要介绍了关于HTML5触摸事件实现移动端简易进度条的实现方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 前言 HTML中新添加了许多新的事件,但由于兼容性的问题,许多事件 ...

  3. 当前深度神经网络模型压缩和加速都有哪些方法?

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

  4. [html] 在HTML5中,用于获得用户的当前位置是哪个方法?

    [html] 在HTML5中,用于获得用户的当前位置是哪个方法? getCurrentPosition() 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起 ...

  5. npm使用国内镜像加速的几种方法

    npm使用国内镜像加速的几种方法 在使用npm过程中经常会遇到无法下载包的问题,本人在这里整理了几个npm使用国内镜像加速的方法,希望对大家有所帮助. 原始配置 npm config set regi ...

  6. android代码实现手机加速功能吗,详解Android开发中硬件加速支持的使用方法

    Android从3.0(API Level 11)开始,在绘制View的时候支持硬件加速,充分利用GPU的特性,使得绘制更加平滑,但是会多消耗一些内存. 开启或关闭硬件加速: 由于硬件加速自身并非完美 ...

  7. 加速ssh连接的方法(优化ssh服务)

    目录 加速ssh连接的方法(优化ssh服务) 一.修改 /etc/ssh/sshd_config 二.修改被连接端的文件 /etc/nsswitch.conf 三.修改主动连接端的 /etc/host ...

  8. Html5结合flash在所有主流播放器播放视频的方法

    转自http://www.aimks.com/html5-combined-with-flash-method-in-all-mainstream-video.html Html5结合flash在所有 ...

  9. 一种加速Github下载速度的方法

    一种加速Github下载速度的方法 Github好多人都用过,不知道您是否遇到过由于某种原因而造成的如龟

  10. 在日常使用中关于英特尔睿频加速的优劣分析(附带关闭睿频加速的两种方法)

    在日常使用中关于英特尔睿频加速的优劣分析 事情背景 事情起因 过程分析测试 日常使用分析 结论 开关睿频加速(寻找解决方法的朋友可以直接跳到这里来) 方法1:在电源管理操控是否开启睿频加速(推荐) 解 ...

最新文章

  1. TensorRT 3:更快的TensorFlow推理和Volta支持
  2. 如何做好网络推广中有关网站优化中内链搭建都有什么方法?
  3. Nginx的反向代理 和 负载均衡
  4. 【MATLAB统计分析与应用100例】案例014:matlab读取Excel数据,调用stepwise函数作交互式逐步回归分析
  5. sql语句中查询出的数据添加一列,并且添加默认值
  6. 【华为云技术分享】如何让敏捷回顾会议更有效果,这样做就对了
  7. HDFS数据恢复模式
  8. Visual Studio提示——使用数据提示
  9. 初始化列表和构造函数内赋值的区别
  10. 区块链相关名词解释(一)
  11. 太极计算机 审计厅,湖北省审计厅举办2010年春节联欢会
  12. 小程序map地图多点定位
  13. 那四年,我们一起逝去的青春
  14. css阿拉伯数字,css 古文排版(含阿拉伯数字)
  15. mysql 报表设计工具_如何使用报表创建工具Navicat创建报表
  16. 智能车制作——从元器件、机电系统、控制算法到完整的智能车设计|文末赠书
  17. 约翰·库缇斯(没有双腿的激励大师,年轻人必看)转载
  18. 已解决-MacBook pro/MacBook air上安装Windows10双系统教程
  19. 打印小册子中断了怎么办
  20. STM32CubeIDE

热门文章

  1. [hiho1160] 攻城略地
  2. python日记----2017.7.20
  3. Appcan性能低?速度慢?UI难看?与apicloud用数据说话
  4. NHibernate中ISession的Flush
  5. 随机森林 ---sklearn
  6. 服务器怎么跑python_在Linux服务器上跑Python Unet程序
  7. python的if判断语句_Python之if条件判断语句
  8. GNN + Zero-shot
  9. R-CNN学习笔记1:Selective Search for Object Recognition
  10. opencv实现图像目标对象区域挖掘