经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTMLCSS » CSS » 查看文章
HTML5 Web存储 页面间进行传值
来源:cnblogs  作者:CyuanWu  时间:2018/10/15 9:03:39  对本文有异议

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

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

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

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

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

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

  1. if(typeof(Storage)!=="undefined")
  2. {
  3. // 支持 localStorage sessionStorage 对象
  4. // 事件函数
  5. } else {
  6. // 不支持 web 存储。
  7. }

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

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

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

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

  1. <div>
  2. <label for="sitename">网站名(key):</label>
  3. <input type="text" id="sitename" name="sitename" class="text"/>
  4. <label for="siteurl">网址(value):</label>
  5. <input type="text" id="siteurl" name="siteurl"/>
  6. <input type="button" onclick="save()" value="新增记录"/>
  7. <label for="search_site">输入网站名:</label>
  8. <input type="text" id="search_site" name="search_site"/>
  9.  
  10. <input type="button" onclick="find()" value="查找网站"/>
  11. <p id="find_result"><br/></p>
  12. </div>
  1. //保存数据
  2. function save(){
  3. var siteurl = document.getElementById("siteurl").value;
  4. var sitename = document.getElementById("sitename").value;
  5. localStorage.setItem(sitename, siteurl);
  6. alert("添加成功");
  7. }
  8. //查找数据
  9. function find(){
  10. var search_site = document.getElementById("search_site").value;
  11. var sitename = localStorage.getItem(search_site);
  12. var find_result = document.getElementById("find_result");
  13. find_result.innerHTML = search_site + "的网址是:" + sitename;
  14. }

参考链接:

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

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

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号