HTML5 Web存储 页面间进行传值

在实际使用过程中,经常会遇到需要在页面间进行传值的情况,最初设想一定需要后端才能进行数据的存储和读取,或者在本地使用一个cookie进行保存,直到了解到HTML5 Web存储

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

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

方法: localStorage 和 sessionStorage (客户端存储)

  • localStorage - 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除。
  • sessionStorage - 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

在使用 web 存储前,检查浏览器是否支持 localStorage 和sessionStorage:

if(typeof(Storage)!=="undefined")
{
    // 支持 localStorage  sessionStorage 对象
    // 事件函数
} else {
    // 不支持 web 存储。
}

(只要不是老掉牙的IE,基本没问题的,现在的浏览器都支持H5的)

写的一个小demo,用于理解:在第一个页面中输入,跳转后第二个页面上读取数据

<form>
    <fieldset id="submit">
        <input type="text" id="one"  name="one"></select>
        <input type="text" id="two"  name="two">
        <input type="button" value="submit" onclick="submit()">
    </fieldset>
</form>    
function submit(){
    if(document.getElementById("submit").value!=""){
        var Key=document.getElementById("submit");
        localStorage.name = Key.value;
        location.href = ‘index.html‘;
    }else{
        alert("error");
    }
}
//index.html中
<script>
    //读取保存结果
    var searchKey = localStorage["name"];
</script>

另菜鸟教程上有一个demo,个人感觉很不错:

<div>
    <label for="sitename">网站名(key):</label>
    <input type="text" id="sitename" name="sitename" class="text"/>  

    <label for="siteurl">网址(value):</label>
    <input type="text" id="siteurl" name="siteurl"/>  

    <input type="button" onclick="save()" value="新增记录"/>  

    <label for="search_site">输入网站名:</label>
    <input type="text" id="search_site" name="search_site"/>  

    <input type="button" onclick="find()" value="查找网站"/>
    <p id="find_result"><br/></p>
</div>
//保存数据
function save(){
    var siteurl = document.getElementById("siteurl").value;
    var sitename = document.getElementById("sitename").value;
    localStorage.setItem(sitename, siteurl);
    alert("添加成功");
}
//查找数据
function find(){
    var search_site = document.getElementById("search_site").value;
    var sitename = localStorage.getItem(search_site);
    var find_result = document.getElementById("find_result");
    find_result.innerHTML = search_site + "的网址是:" + sitename;
}

参考链接:

菜鸟教程:http://www.runoob.com/html/html5-webstorage.html

w3school: http://www.w3school.com.cn/html5/html_5_webstorage.asp

原文地址:https://www.cnblogs.com/cyuanwu/p/9782432.html

时间: 2024-08-02 20:25:49

HTML5 Web存储 页面间进行传值的相关文章

基于HTML5之APP页面间的传值的几种方式

一 摘要 在做APP开发时,避免不了出现两个页面之间的传值,在iOS开发中两个页面传值常见的有:属性传值,block,代理,通知等方式.那么web程序两个页面传值的形式有哪些呢,在这里我给大家总结一下. 1)PC版的web程序 两个两个页面之间的传值方式主要有: 1.cookie 2.查询字符串 3.还可以通过服务端的session来交换数据 2)HTML之app的传值方式 主要有: 1.HTML5 LocalStorage 本地存储 2.隐藏字段 3.服务器端的session等 4..页面已创

HTML5 Web存储(Web Storage)技术及用法

在如今的Web开发中,HTML5是大家讨论的最大一个话题.HTML5提供的新功能特征使得Web程序员如虎添翼,并免去了以往钻研各种方法来让网站更好.更快.更灵活的气力.这些新功能中有一个非常让我感兴趣,它就是Web存储(Web Storage).Web存储(Web Storage)提供了一个在浏览器端保存用户会话信息的方法.下面让我们来看一看Web存储(Web Storage)的基本用法! Web存储(Web Storage)基本要领 存储的数据可以是任何类JSON的结构化数据. 存储的数据不会

B/S结构中页面间的传值

常见的页面间的传值有session,cookie,application,server.transfer(),queryString,今天主要记录一下server.transfer()的用法. 从A页面Transfer到B页面时,就可以在B页面通过Context.Handler获得A页面的一个类的实例,从而在B调用A的各个成员对象. 下面的示例建立了AA和BB, 通过Server.Transfer()方法演示在BB中读取AA的文本框.读取属性.通过Context传值.调用AA的方法等. AA上放

HTML5 web存储

HTML5 web 存储,一个比cookie更好的本地存储方式. 什么是 HTML5 Web 存储? 使用HTML5可以在本地存储用户的浏览数据. 早些时候,本地存储使用的是cookies.但是Web 存储需要更加的安全与快速. 这些数据不会被保存在服务器上,但是这些数据只用于用户请求网站数据上.它也可以存储大量的数据,而不影响网站的性能. 数据以 键/值 对存在, web网页的数据只允许该网页访问使用. 浏览器支持 Internet Explorer 8+, Firefox, Opera, C

父页面与子页面间相互传值

父页面与子页面间相互传值 1.子页面又父页面通过window.open弹出 子页面要向父页面传值,只要在document前面加window.opener即可.如:父页面: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

加速HTML5应用的九大方法-------3.使用 HTML5 Web 存储

加速HTML5应用的九大方法-------3.使用 HTML5 Web 存储你需要在浏览器上存储一些数据时,你可能会首先考虑到 Cookie,这些 Cookie 在每次浏览器请求时都会附带上.而 HTML5 更有效的方法就是本地存储 -- Web Storage.有两个 Web Storage 对象分别是:sessionStorage 和 localStorage ,这些存储的数据是不会通过 HTTP 请求来传输的,因此不会对请求的时间参数任何影响,下面是一小段示例代码:// check to

用block实现两个页面间的传值

第二个view声明一个block属性: @property (nonatomic, copy) void(^doTransferMsg)(NSString *_msg); 然后传值方法里检查block是不是存在 - (IBAction)transferText:(UIButton *)sender { if (_doTransferMsg) { _doTransferMsg(@"hello there"); _doTransferMsg = nil; } [self.navigatio

HTML5 Web存储(Web Storage)(2)

Web Storage是HTML5引入的一个非常重要的功能,在前端开发中经常用到,可以在客户端本地存储数据,类似HTML4的cookie,但可实现功能要比cookie强大的多,cookie大小被限制在4KB,Web Storage官方建议为每个网站5MB.Web Storage又分为两种: sessionStorage     localStorage 从字面意思就可以很清楚的看出来,sessionStorage将数据保存在session中,浏览器关闭也就没了:而localStorage则一直将

使用HTML5 Web存储的localStorage和sessionStorage方式

localStorage(本地存储),可以长期存储数据,没有时间限制,一天,一年,两年甚至更长,数据都可以使用.sessionStorage(会话存储),只有在浏览器被关闭之前使用,创建另一个页面时同意可以使用,关闭浏览器之后数据就会消失. HTML5 的本地存储 API 中的 localStorage 与 sessionStorage 在使用方法上是相同的,区别在于 sessionStorage 在关闭页面后即被清空,而 localStorage 则会一直保存.我们这里以 localStora