Service Worker -- 特殊的Web Worker
在介绍service之前,先引入一下PWA(由Google的Chrome团队创造),技术支持主要是ServiceWorker和Web App Mainfest
PWA是一种webapp模型,是一种渐进的web app,利用一些web特性,配合ui使用,增强web app的用户体验。(手机使用Safari 进入 m.weibo.cn/beta 将它保存在手机桌面上,点击桌面上相应快捷方式时,不会再显示url)。
那么刚才已经说过了,PWA有一个特性 -- 浏览器离线和弱网络环境可以急速访问。 这就使用了即将介绍的Service Worker:
功能:
它是充当在web应用程序与浏览器之间的代理服务器。离线缓存
特性:
后台消息传递
网络代理、转发请求、伪造响应
离线缓存
消息推送
现阶段来看,serviceWorker的功能主要集中在网络资源代理和离线缓存上。可以理解为他是一个在浏览器离线时,仍能运行的web wokrer。因此,window以及dom都是不能访问的。可以利用self访问全局上下文。
service worker 完全异步、同步API (XHR、LocalStroage)不能在其中使用。
正常情况下他是需要https环境才能跑起来的。但是本地服务器(
Service Worker -- 特殊的Web Worker相关推荐
- Dedicated Web Worker 和 Shared Web Worker
当在 HTML 页面中执行脚本(JS)时,页面的状态是不可响应的,直到脚本已完成. 通过使用Web Worker, 我们可以在浏览器后台运行Javascript, 而不占用浏览器自身线程.Web Wo ...
- web Worker简介、web Worker报错分析、作用
web Worker: web Worker是运行在后台的javascript,不会影响性能,常用于高耗费CPU的任务,必须部署到线上才可以正常使用,这里有三个方法比较重要,需要注意: postMes ...
- PWA(Progressive Web App)入门系列:(五)Web Worker
前言 在说Service Worker前有必要说一下Web Worker,因为Service Worker本身就属于Web Worker的延伸,大部分功能也是基于Web Worker进行的扩展. 背景 ...
- Web Worker javascript多线程编程(一)
什么是Web Worker? web worker 是运行在后台的 JavaScript,不占用浏览器自身线程,独立于其他脚本,可以提高应用的总体性能,并且提升用户体验. 一般来说Javascript ...
- 如何查找历史线程阻塞原因_学习 Web Worker(js中的“多线程”)
昨天部门例会,讨论开发的系统遇到的问题,遇到一个医保上传比较耗时的问题,解决方案提到了Web Worker,学习一波. 首先简单介绍一下什么是web worker.我们都知道在浏览器中javascri ...
- html5之web worker
Web Worker 在本文中 与 Web Worker 进行双向通信 WindowTimers 在 IE10 Platform Preview 4 中对 Web Worker 的更新 API 参考 ...
- HTML5中Web Worker技术的使用实例
web worker是html5中新特性中非常吸引人的技术亮点之一,我们可以把它理解为javascript中的多线程技术,我们知道javascript语言的执行环境是单线程的,浏览器执行某段程序的时候 ...
- 主进程中发生了一个javascript错误_知道html5 Web Worker标准吗?能实现JavaScript的多线程?
js为什么是单线程? 主要是因为最开始javascript是单纯的服务于浏览器的一种脚步语言(那时候没有nodejs).浏览器是为了渲染网页,通过dom与用户交互,如果一个线程需要给dom执行clic ...
- 一文了解Web Worker
一.概述 众所周知,JavaScript最初设计是运行在浏览器中的,为了防止多个线程同时操作DOM带来的渲染冲突问题,所以JavaScript执行器被设计成单线程.但是随着前端技术的发展,JavaSc ...
最新文章
- 我是发起人Sumtec
- 【数据结构-线性表】顺序表和链表(几种链表操作技巧+几种链表形式)
- wxWidgets:wxRichTextFieldTypeStandard类用法
- 链表笔试题汇编(一)
- 【技术文档】jeecg3.7.1-maven版本搭建环境手把手入门-eclipse
- Linux -- 基于zookeeper的java api(二)
- 学习笔记之sed用法
- GitHub 上四万 Star 大佬的BATT求职回忆
- xshell7,xftp7个人免费版官方下载,无需破解,免激活,下载即可使用
- js技巧收集(200多个)——2
- spy++是可以获取浏览器当前页面的标题的,并且可以根据“窗口标题”和“类名”实现对浏览器的显示和隐藏,
- Linux处理cds文件,Linux 使用CDS磁盘+LVM
- 企业智能化管理固定资产的新思路
- H5和webview跳转小程序
- Urlrewrite(url地址重写)和UrlRewriteFilter
- stock market 模拟
- 计算机技术史上的名人,计算机历史上的名人.pdf
- CryENGINE3系列总结教程之UI/HUD(一)制作生命条弹药条Flash部分
- 云起实验室:使用RDS和ECS搭建个人博客
- [转载]深入分析:我们为何需要DDR2内存技术(多图)
热门文章
- ganymed ssh-2 for java,SSH客户端开发开源组件Ganymed SSH-2 for Java初体验,ganymedssh-2
- MaxCompute Spark开发指南
- Dijkstra算法基础
- 做网站九年拥有了梦寐以求的域名
- 许昌西继电梯服务器显示ZY,许昌西继西门子电梯5000故障代码.pdf
- 微机原理实验 实验一 简单I/O口扩展 8 位 I/O 扩展
- Linux 下统计文件夹下文件的数量
- 如何一步步从数据产品菜鸟走到骨干数据产品
- php url编码原理,urlencode编码/urldecode解码作用及使用方法
- [原创] PS美女转手绘效果