跨文档消息(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. 自行扩展 FineUIMvc 通知对话框(多个并排显示不重叠,支持最新的显示在最上方)

    声明:FineUIMvc(基础版)是免费软件,本系列文章适用于基础版. 这篇文章我们将改造 FineUIMvc 默认的通知对话框,使得同时显示多个也不会重叠.并提前出一个公共的JS文件,供大家使用. ...

  2. 代码编写规范说明书(c#.net与asp.net)

    代码编写规范说明书(c#.net与asp.net) 目 录1 目的2 范围3 注释规范3.1 概述3.2 自建代码文件注释3.3 模块(类)注释3.4 类属性注释3.5 方法注释3.6 代码间注释4 ...

  3. android设备使用usb串口传输数据

    首先介绍两个开源项目一个是Google的开源项目:https://code.google.com/archive/p/android-serialport-api/ 另一个是我们这次介绍的开源项目:h ...

  4. iptables配置详解

    iptables主要参数 -A 向规则链中添加一条规则,默认被添加到末尾 -T指定要操作的表,默认是filter -D从规则链中删除规则,可以指定序号或者匹配的规则来删除 -R进行规则替换 -I插入一 ...

  5. Apache+mod_encoding解决URL中文编码问题

    我们经常在论坛上看到这样的求救贴:  为什么我看不了网站上中文文件名的文件?这时一定会有好心的大侠告诉说,到IE6的工具,Internet选项, 高级里,把"总是以UTF-8发送URL&qu ...

  6. PHP 魔术方法 __call 与 __callStatic 方法

    PHP 魔术方法 __call 与 __callStatic 方法 PHP 5.3 后新增了 __call 与 __callStatic 魔法方法. __call 当要调用的方法不存在或权限不足时,会 ...

  7. Java Comparator的范型类型推导问题

    问题 在项目中,有一处地方需要对日期区间进行排序 我需要以日期区间的开始日为第一优先级,结束日为第二优先级进行排序 代码 我当时写的代码如下: List<Pair<LocalDate, L ...

  8. 【算法】RMQ LCA 讲课杂记

    4月4日,应学弟要求去了次学校给小同学们讲了一堂课,其实讲的挺内容挺杂的,但是目的是引出LCA算法. 现在整理一下当天讲课的主要内容: 开始并没有直接引出LCA问题,而是讲了RMQ(Range Min ...

  9. jade模板引擎简明用法

    ①.特性 首个单词为标签,有一些不能识别的标签可作为code,如each for case if  else if unless   zen coding风格添加标签,如 .nb#hello 生成 & ...

  10. 【JavaScript】让事件支持先发布后订阅

    之前写过一个的事件管理器,就是普通的先订阅后发布模式.但实际场景中我们需要做到后订阅的也能收到发布的消息.比如我们关注微信公众号,还是能看到历史消息的.类似于qq离线消息,我先发给你,你登录了就能收到 ...