美文网首页
2018-05-16  HTML5 web 存储

2018-05-16  HTML5 web 存储

作者: 王培921223 | 来源:发表于2018-05-16 10:09 被阅读0次

 前言:

  因最近移动端开发过程中遇到一个运营提出的所谓技术难点需求,对于原生APP来说轻而易举,毕竟自己的APP用户操作指哪打哪,但是H5该怎么做?H5就实现不了么?对于一个爱研究攻克这些前端棘手问题的我来说,我没尝试过,我是拒绝对提出需求者说实现不了,做不到之类的。

  是什么需求呢?--需求方要求用户在一个列表页浏览时,点击一个列表进入详情页,返回要求记录用户刚刚浏览的位置,而不是重新刷新页面到了页面顶部。(ps:如果用户好不容易翻到了第几十、几百乃至几千条时,难道要用户再重头开始?可能这个时候跳出率就高了,这个分析的确挺有道理,无力反驳...)。

  那么开始脑洞大开了,当时脑子里出来各种解决方案:

  1、将浏览时的滚动位置存到cookie里,进到这个页面再取。那多久销毁呢?好像不灵活...pass

  2、将详情页通过ifram或者弹框方式引到当前页,通过操作关闭当前弹窗(那么在已经完成的页面上再重构,加操作按钮?那么加载效率和体验呢?...反正不看好)

  3、将浏览时的滚动位置传到服务器端,加载页面时,根据用户来取最后浏览的位置,各种参数传来调去(跟方案一很类似)

  4、通过H5本地存储的方式将数据存起来,需要时取值(没啥经验,先研究一下吧,好像挺靠谱)

 接下来先了解一下什么是本地存储吧!

简介:

HTML5 web 存储,一个比cookie更好的本地存储方式。

  首先我们先了解一下:

什么是 HTML5 Web 存储?

  使用HTML5可以在本地存储用户的浏览数据。

  早些时候,本地存储使用的是 cookie。但是Web 存储需要更加的安全与快速. 这些数据不会被保存在服务器上,但是这些数据只用于用户请求网站数据上.它也可以存储大量的数据,而不影响网站的性能.

  数据以 键/值 对存在, web网页的数据只允许该网页访问使用。

localStorage 和 sessionStorage

  客户端存储数据的两个对象为:

localStorage - 没有时间限制的数据存储

sessionStorage - 针对一个 session 的数据存储(关闭窗口,存储的数据清空

  了解完sessionStorage之后是不是很符合我们的需求呢?将数据存到 session中,管你前进后退还是刷新,数据依然在,关闭窗口后再进页面才会清空数据,那么完全符合需求啊,看到这玩意简直激动快要泪奔了!!!

再理一下实现思路,①页面滚动,将滚动位置存到session中 → ②再次进到页面中,到session中取出上次保存的浏览位置 → ③滚动到对应位置

  这家伙简直好玩到嗷嗷叫啊,睁大眼睛看重点咯!

这里只介绍setItem和getItem,当然还有什么removeItem删除key、clear清除所有的key/value操作。

  setItem存储value

用途:将value存储到key字段

用法:.setItem( key, value)

代码示例:

sessionStorage.setItem("key","value"); localStorage.setItem("site","js8.in");

  getItem获取value

用途:获取指定key本地存储的值

用法:.getItem(key)

代码示例:

var value= sessionStorage.getItem("key");var site= localStorage.getItem("site");//滚动时保存滚动位置

$(window).scroll(function(){

if($(document).scrollTop()!=0){

sessionStorage.setItem("offsetTop",$(window).scrollTop());//保存滚动位置

   }});

//onload时,取出并滚动到上次保存位置

window.onload =function()

{

var _offset =sessionStorage.getItem("offsetTop");

$(document).scrollTop(offsetTop);

};

相关文章

  • HTML5存储

    HTML5学习笔记 Web存储 HTML5 web存储,一个比cookie更好的本地存储方式。 什么是html5 ...

  • web本地存储

    HTML5 Web 存储 HTML5 web 存储,一个比cookie更好的本地存储方式。 什么是 HTML5 W...

  • web本地存储

    HTML5 Web 存储 HTML5 web 存储,一个比cookie更好的本地存储方式。 什么是 HTML5 W...

  • HTML5 Web存储

    HTML5 Web存储,一个比cookie更好用的方法 什么是 HTML5 Web 存储? 使用HTML5可以在本...

  • webSQL

    HTML5 Web 存储 HTML5 应用程序缓存HTML5 Web SQL 数据库Web SQL 数据库 API...

  • localStorage和sessionStorage

    HTML5 Web存储包括localStorage和sessionStorage,HTML5 Web是以键值对的形...

  • HTML5 Web储存

    HTML5 Web存储,一个比cookie更好的本地储存方式 HTML5 Web储存:使用HTML5可以在本地储存...

  • 2018-05-16  HTML5 web 存储

    前言: 因最近移动端开发过程中遇到一个运营提出的所谓技术难点需求,对于原生APP来说轻而易举,毕竟自己的APP用户...

  • HTML5 Web存储用户数据

    什么是 HTML5 Web 存储? 使用HTML5可以在本地存储用户的浏览数据。 早些时候,本地存储使用的是 co...

  • HTML5存储

    HTML5的本地存储与离线存储 1.本地存储 - Web storage2.本地存储 - indexedDB3...

网友评论

      本文标题:2018-05-16  HTML5 web 存储

      本文链接:https://www.haomeiwen.com/subject/vszudftx.html