1、跨文档消息传输                                              
要想接受从其他的窗口那里发过来的消息,就必须对窗口对象的message事件进行监视。
window.addEventListener("message",function(ev){...},false);
ev.orgin:获取消息的发送源;
ev.data:消息内容;
ev.source:获取消息发送源的窗口对象。
使用window对象的postMessage方法向其他窗口发送消息。
otherWindow.postMessage(message,targerOrigin);
2、Web Sockets通信                                         
HTML5提供的在Web应用程序中客户端与服务器端之间进行的非HTTP的通信机制。
构建连接:var webSocket=new WebSocker("ws://localhost:8081/socket");//URL必须以ws或者wssk开头。
发送消息:webSocket.send("data");
接收服务器消息:
webSocket.onmessage=function(event){
var data=event.data;
}
监听socket打开和关闭事件:
websocket.onopen=function(event){...}
websocket.onclose=function(event){...}
关闭socket:webSocket.close();
readyState属性只可以获取WebSocket对象的状态。
3、使用Web Workers处理线程                          
创建后台线程:var worker=new Worker("worker.js");//参数为后台线程执行的URL
后台线程不能访问页面或窗口对象。
在后台线程之中接收消息:worker.onmessage=function(event){/*处理收到的消息*/}
对后台线程发送消息:worker.postMessage(message);

在后台线程中,也可以获取worker对象的onmessage事件句柄和postMessage方法在后台进行消息的发送和接收。

与线程进行数据交互:获取数据后动态创建页面元素。
线程嵌套:
单层嵌套:在后台线程中再创建线程。
向主页面线程发送消息用的是postMessage,而向子线程用worker.postMessage。

在多个子线程中进行数据的交互:
线程中可用的变量、函数与类:
self,postMessage(message),onmessage,importScript(urls),nacigator对象,sessionStore/localStore,XMLHttpRequest,Web Workers,setTimeout(),setInterval(),close,eval(),isNan(),escape()等javaScript核心函数,object,WebSorckets.

通信API、使用Web Workers处理线程的更多相关文章

  1. (92)Wangdao.com_第二十五天_线程机制_H5 Web Workers 分线程任务_事件 Event

    浏览器内核 支撑浏览器运行的最核心的程序 IE 浏览器内核            Trident内核,也是俗称的IE内核Chrome 浏览器内核            统称为 Chromium 内核或 ...

  2. 使用Web Workers处理线程

    使用HTML 4和JavaScript创建出来的Web程序中,因为所有的处理都是在单线程中 HTML 5的Web Workers API,HTML 5中,一个Worker实际上为一个后台运行的线程.

  3. web workers工作线程

    web worker工作线程是Html5里面提出来的一个新api,对于JavaScript我们的印象是单线程执行,如果运行复杂运算的时候,页面可能就会失去响应,是运行在后台的javascript,独立 ...

  4. Webpack 下使用 web workers 及 基本原理 和 应用场景

    _ 阅读目录 一:web workers的基本原理 二:web Workers 的基本用法 三:在webpack中配置 Web Workers 四:Web Worker的应用场景 回到顶部 一:web ...

  5. 通过使用Web Workers,Web应用程序可以在独立于主线程的后台线程中,运行一个脚本操作。这样做的好处是可以在独立线程中执行费时的处理任务,从而允许主线程(通常是UI线程)不会因此被阻塞/放慢。

    Web Workers API - Web API 接口参考 | MDNhttps://developer.mozilla.org/zh-CN/docs/Web/API/Web_Workers_API ...

  6. 简单了解Web Workers API

    1. 为什么使用Web Workers API 通过使用该API,web应用程序可以独立于主线程,运行一个单独的线程来处理脚本. 可以在独立的线程中解决耗时较长的任务,避免主线程阻塞. 2. 应用 1 ...

  7. html5 Web Workers

    虽然在JavaScript中有setInterval和setTimeout函数使javaScript看起来好像使多线程执行,单实际上JavaScript使单线程的,一次只能做一件事情(关于JavaSc ...

  8. JavaScript是如何工作的:Web Workers的构建块 + 5个使用他们的场景

    摘要: 理解Web Workers. 原文:JavaScript是如何工作的:Web Workers的构建块 + 5个使用他们的场景 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 这 ...

  9. Web Workers文档

    Web Worker为Web内容在后台线程中运行脚本提供了一种简单的方法.线程可以执行任务而不干扰用户界面.此外,他们可以使用XMLHttpRequest执行 I/O  (尽管responseXML和 ...

随机推荐

  1. 转投emacs

    (global-set-key [f9] 'compile-file) (global-set-key [f10] 'gud-gdb) (global-set-key (kbd "C-z&q ...

  2. 不同storyboard间跳转

    小项目中用到storyboard,可以按照模块来新建多个sb. 以下是代码实现跳转实现: UIStoryboard *anSb=[UIStoryboard storyboardWithName:@&q ...

  3. Python框架之Django学习笔记(六)

    模板 上篇博文学习了动态视图,但是,视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python 代码之中. def current_datetime(request): now = ...

  4. leetcode 【 Subsets 】python 实现

    题目: Given a set of distinct integers, S, return all possible subsets. Note: Elements in a subset mus ...

  5. 图说不为人知的IT传奇故事-1-计算机新生

    此系列文章为“图说不为人知的IT传奇故事”,各位大忙人可以在一分钟甚至几秒内了解把握整个内容,真可谓“大忙人的福利”呀!!希望各位IT界的朋友在钻研技术的同时,也能在文学.历史上有所把握.了解这些故事 ...

  6. alert(1) to win部分解题

    XSS在线习题分析 (https://alf.nu/alert1) 1. Warmup function escape(s) { return '<script>console.log(& ...

  7. CentOS安装jdk和tomcat

    1.查看是否已经安装 java -version 2.卸载自带的openjdk dnf remove java-1.7.0-openjdk 3.下载jdk安装包 wget -c http://111. ...

  8. jsp中/el表达式中将后台传来的时间戳格式化为年月日时分秒

    sp中/el表达式中将后台传来的时间戳格式化为年月日时分秒1.引入相关标签库 <%@taglib prefix="c" uri="http://java.sun.c ...

  9. maven学习(三)——修改maven本地默认仓库

    修改从Maven中心仓库下载到本地的jar包的默认存储位置 从Maven中心仓库下载到本地的jar包的默认存放在”${user.home}/.m2/repository”中,${user.home}表 ...

  10. PAT1032

    为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛.现请你根据比赛结果统计出技术最强的那个学校. 输入格式: 输入在第1行给出不超过105的正整数N,即参赛人数.随后N行,每行给出一位 ...