跨文档消息(Web Messaging cross-document messaging)

  原理

    往有关联(同一框架/弹出)的文档传递数据。

    

Message Channel在javascript基础-ajax做了解释

  写法

    两iframe通信

        //一框架发送消息
$('#myi')[0].contentWindow.postMessage("adfasdf","*"); //另一个框架接收消息 IE8用attachEvent
$('#myi2')[0].contentWindow.addEventListener('message',function(e){
//e.data传递的数据 e.origin来源域 e.source代理,用来回传信息
console.log(e.data);//控制台输出"adfasdf"
},false);

         弹出窗口通信

//弹出窗口给父窗体窗体发送消息
window.addEventListener('load', function(e){
//标记这消息来自http://www.suning.com
e.currentTarget.opener.postMessage('', 'http://www.suning.com');
}, false); 

   用途

     IE8+支持iframe间的Web messaging。它具备通用性。

以前两iframe通信,如果同源: 直接调用另一个iframe的全局方法。如果跨域:无法直接访问另一iframe的window,那时的解决方案:

跨域类型 解决方案
同主域 设置document.domain切换成同源
不同主域 通过parent中转
如a 子iframe b。设置一个与b同源的祖先iframe c.bl通过parent.parent访问c。b通过parent访问c。

资源缓存

  适合离线应用APP。配置manifest文件,设置缓存资源--->html读取缓存资源。查看详情

数据存储  

原理 容量限制 浏览器兼容 适合场景
存储少量数据到硬盘,任何人可以访问。
ajax请求时自动附加
CORS跨域允许附加
jsonp跨域不附加
IE/Firefox
50个键值对
<4095B

突破键值对方式:值映射成多个键值对

全部 存储少量跨会话的数据。

如用户已登录过,30天内不失效。将用户登录标识记录在cookie里

会话数据存储
浏览器关闭自动清除
总容量5M/2.5M IE8+ 以前依赖web服务器存储的session数据可以进一步细分服务端和客户端,分开存储。
方便前端读取。
从容量和API方面,增强版的cookie 每个来源
5M/2.5M
IE8+ 同cookie.数据存储扩大。
浏览器本地数据库。目的是为应用APP,提供一套高效CRUD
js对象的API。具体具备游标、索引、事务等数据库能力。CRUD均是异步操作。
无限制 IE10+ 需大数据存储的APP

 Web Workers

  查看详情

javascript基础-HTML5的更多相关文章

  1. 初识 Javascript.01 -- Javascript基础|输出方式、变量、变量命名规范、数据类型、

    Javascript基础 1 聊聊Javascript 1.1 Javascript的历史来源 94年网景公司   研发出世界上第一款浏览器. 95年 sun公司   java语言诞生 网景公司和su ...

  2. JavaScript基础知识(一)

    一.JavaScript基础 1.JavaScript用法: HTML 中的脚本必须位于 <script> 与 </script> 标签之间. 脚本可被放置在 HTML 页面的 ...

  3. Web前端-JavaScript基础教程上

    Web前端-JavaScript基础教程 将放入菜单栏中,便于阅读! JavaScript是web前端开发的编程语言,大多数网站都使用到了JavaScript,所以我们要进行学习,JavaScript ...

  4. JavaScript基础一

    1.1 javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) J ...

  5. JavaScript基础(1)-ECMAScript

    一.JavaScript简介 1.JavaScript历史背景 布兰登 • 艾奇(Brendan Eich,1961年-),1995年在网景公司,发明的JavaScript. 刚开始JavaScrip ...

  6. JavaScript学习(1)之JavaScript基础

    JavaScript学习(1)之JavaScript基础 由于工作原因,开发语言逐渐以JavaScript为主,所以,抽空学习了下JavaScript语法.等现阶段的工作稳定之后,陆续会分享下自己在学 ...

  7. javascript基础入门知识点整理

    学习目标: - 掌握编程的基本思维 - 掌握编程的基本语法 typora-copy-images-to: media JavaScript基础 HTML和CSS 京东 课前娱乐 众人皆笑我疯癫,我笑尔 ...

  8. JavaScript基础入门08

    目录 JavaScript 基础入门08 DOM 介绍 绑定事件 给一组元素绑定事件 节点 节点树 节点类型 选取文档内容 通过id选取元素 通过指定的标签名选取元素 用指定的css类来选取元素 通过 ...

  9. JavaScript基础语法资料

    JavaScript基础第01天 1 - 编程语言 1.1 编程 编程: 就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 计算机程序: 就是计算机所执行的一系列的 ...

随机推荐

  1. HibernateTemplate的使用

    HibernateTemplate 提供了非常多的常用方法来完成基本的操作,比如增加.删除.修改及查询等操作,Spring 2.0 更增加对命名 SQL 查询的支持,也增加对分页的支持.大部分情况下, ...

  2. Java关于e.printStackTrace()介绍

    public void printStackTrace()将此 throwable 及其追踪输出至标准错误流.此方法将此 Throwable 对象的堆栈跟踪输出至错误输出流,作为字段 System.e ...

  3. 快速排序算法回顾 --冒泡排序Bubble Sort和快速排序Quick Sort(Python实现)

    冒泡排序的过程是首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序,则将两个记录交换,然后比较第二个记录和第三个记录的关键字.以此类推,直至第n-1个记录和第n个记录的关键字进行过比较为止 ...

  4. git工具使用的简单介绍

    百度百科 写道 Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git的读音为/gɪt/. Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大 ...

  5. 关于socket编程获取客户端地址笔记

    因为最近刚好碰到这块,而且很不小心的在上面踩了个坑,所以把这个坑记录下来 首先,在我们都是在accept函数以后来获取客户端的地址: client_sd = accept(watcher->fd ...

  6. C语言学习第八章

    今天开始学习字符串,学完以后最低要做到了解什么是字符串,以及字符串的一些应用方法,毕竟字符串还是很常见的. 简单的字符串"helloworld",这个字符串大家应该都很眼熟,学编程 ...

  7. win10用命令net启动服务没权限解决办法

    法一.右击cmd命令图标,以管理员身份运行即可. 或者 法二.打开cmd命令的位置->右击属性->高级->勾上"以管理员身份运行"->确定.

  8. PHP 手册

    http://www.php.net/manual/zh/index.php 感谢中文翻译工作者. PHP 手册¶ by:Mehdi Achour Friedhelm Betz Antony Dovg ...

  9. 蓝桥杯-分小组-java

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...

  10. Gym - 101102C线段树

    Judge Bahosain was bored at ACM AmrahCPC 2016 as the winner of the contest had the first rank from t ...