在介绍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相关推荐

  1. Dedicated Web Worker 和 Shared Web Worker

    当在 HTML 页面中执行脚本(JS)时,页面的状态是不可响应的,直到脚本已完成. 通过使用Web Worker, 我们可以在浏览器后台运行Javascript, 而不占用浏览器自身线程.Web Wo ...

  2. web Worker简介、web Worker报错分析、作用

    web Worker: web Worker是运行在后台的javascript,不会影响性能,常用于高耗费CPU的任务,必须部署到线上才可以正常使用,这里有三个方法比较重要,需要注意: postMes ...

  3. PWA(Progressive Web App)入门系列:(五)Web Worker

    前言 在说Service Worker前有必要说一下Web Worker,因为Service Worker本身就属于Web Worker的延伸,大部分功能也是基于Web Worker进行的扩展. 背景 ...

  4. Web Worker javascript多线程编程(一)

    什么是Web Worker? web worker 是运行在后台的 JavaScript,不占用浏览器自身线程,独立于其他脚本,可以提高应用的总体性能,并且提升用户体验. 一般来说Javascript ...

  5. 如何查找历史线程阻塞原因_学习 Web Worker(js中的“多线程”)

    昨天部门例会,讨论开发的系统遇到的问题,遇到一个医保上传比较耗时的问题,解决方案提到了Web Worker,学习一波. 首先简单介绍一下什么是web worker.我们都知道在浏览器中javascri ...

  6. html5之web worker

    Web Worker 在本文中 与 Web Worker 进行双向通信 WindowTimers 在 IE10 Platform Preview 4 中对 Web Worker 的更新 API 参考 ...

  7. HTML5中Web Worker技术的使用实例

    web worker是html5中新特性中非常吸引人的技术亮点之一,我们可以把它理解为javascript中的多线程技术,我们知道javascript语言的执行环境是单线程的,浏览器执行某段程序的时候 ...

  8. 主进程中发生了一个javascript错误_知道html5 Web Worker标准吗?能实现JavaScript的多线程?

    js为什么是单线程? 主要是因为最开始javascript是单纯的服务于浏览器的一种脚步语言(那时候没有nodejs).浏览器是为了渲染网页,通过dom与用户交互,如果一个线程需要给dom执行clic ...

  9. 一文了解Web Worker

    一.概述 众所周知,JavaScript最初设计是运行在浏览器中的,为了防止多个线程同时操作DOM带来的渲染冲突问题,所以JavaScript执行器被设计成单线程.但是随着前端技术的发展,JavaSc ...

最新文章

  1. 我是发起人Sumtec
  2. 【数据结构-线性表】顺序表和链表(几种链表操作技巧+几种链表形式)
  3. wxWidgets:wxRichTextFieldTypeStandard类用法
  4. 链表笔试题汇编(一)
  5. 【技术文档】jeecg3.7.1-maven版本搭建环境手把手入门-eclipse
  6. Linux -- 基于zookeeper的java api(二)
  7. 学习笔记之sed用法
  8. GitHub 上四万 Star 大佬的BATT求职回忆
  9. xshell7,xftp7个人免费版官方下载,无需破解,免激活,下载即可使用
  10. js技巧收集(200多个)——2
  11. spy++是可以获取浏览器当前页面的标题的,并且可以根据“窗口标题”和“类名”实现对浏览器的显示和隐藏,
  12. Linux处理cds文件,Linux 使用CDS磁盘+LVM
  13. 企业智能化管理固定资产的新思路
  14. H5和webview跳转小程序
  15. Urlrewrite(url地址重写)和UrlRewriteFilter
  16. stock market 模拟
  17. 计算机技术史上的名人,计算机历史上的名人.pdf
  18. CryENGINE3系列总结教程之UI/HUD(一)制作生命条弹药条Flash部分
  19. 云起实验室:使用RDS和ECS搭建个人博客
  20. [转载]深入分析:我们为何需要DDR2内存技术(多图)

热门文章

  1. ganymed ssh-2 for java,SSH客户端开发开源组件Ganymed SSH-2 for Java初体验,ganymedssh-2
  2. MaxCompute Spark开发指南
  3. Dijkstra算法基础
  4. 做网站九年拥有了梦寐以求的域名
  5. 许昌西继电梯服务器显示ZY,许昌西继西门子电梯5000故障代码.pdf
  6. 微机原理实验 实验一 简单I/O口扩展 8 位 I/O 扩展
  7. Linux 下统计文件夹下文件的数量
  8. 如何一步步从数据产品菜鸟走到骨干数据产品
  9. php url编码原理,urlencode编码/urldecode解码作用及使用方法
  10. [原创] PS美女转手绘效果