ServiceWorker,翻译过来就是服务工人。它是网页提供的一个脚本,交给浏览器,浏览器把它运行在后台,即使页面被切走了,也能继续运行。这个脚本,理论上来讲可以干任何事情,比如后台接受消息,你完全可以搞一个 push 出来,再比如后台拉取数据,搞页面的离线更新,想象空间十分巨大。而且,它可以拦截浏览器向服务器发出的数据请求,做一些自己爱做的事情。比如,页面的离线缓存。你打开1024.com,看了一些刺激的东西,爽了。下回又想上,擦,被墙了,宝宝不开心,咋办呢?有了ServiceWorker,假如你打开 1024.com 的时候,它向浏览器提供了一个 ServiceWorker,在后台悄悄的把整个 1024.com 都保存了下来。这下好了,下回打开,浏览器还没等把请求发出去,就被 ServiceWorker 拦住了,一看有缓存,好,直接用缓存,于是你又看到了一些刺激的东西, happy endding。
网友评论