当前位置: 首页 > news >正文

网站meta网页描述新东方教育培训机构官网

网站meta网页描述,新东方教育培训机构官网,中源建设有限公司网站,网页设计班级网站用什么做首页Web Worker API Web Worker 使得在一个独立于 Web 应用程序主执行线程的后台线程中运行脚本操作成为可能。这样做的好处是可以在独立线程中执行费时的处理任务,使主线程(通常是 UI 线程)的运行不会被阻塞/放慢。 Web Worker概念与用法 Wor…

Web Worker API

Web Worker 使得在一个独立于 Web 应用程序主执行线程的后台线程中运行脚本操作成为可能。这样做的好处是可以在独立线程中执行费时的处理任务,使主线程(通常是 UI 线程)的运行不会被阻塞/放慢。

Web Worker概念与用法

Worker 是一个使用构造函数创建的对象(例如 Worker),它运行一个具名 JavaScript 文件——该文件包含将在 worker 线程中运行的代码。

除了标准的 JavaScript 函数集(如 String、Array、Object、JSON 等),你可以在 worker 线程中运行任何你喜欢的代码,有一些例外:你不能直接在 worker 线程中操作 DOM 元素,或使用 window对象中的某些方法和属性。

数据通过消息系统在 worker 和主线程之间发送——双方都使用 postMessage() 方法发送消息,并通过 onmessage 事件处理程序响应消息(消息包含在 message 事件的 data 属性中)。数据是复制的,而不是共享的。

Worker类型

有许多不同类型的 worker:

  • 专用 worker 是由单个脚本使用的 worker。该上下文由 DedicatedWorkerGlobalScope
    对象表示。
  • Shared worker 是可以由在不同窗口、IFrame 等中运行的多个脚本使用的 worker ,只要它们与 worker 在同一域中。它们比专用的 worker 稍微复杂一点——脚本必须通过活动端口进行通信。
  • Service Worker 基本上是作为代理服务器,位于 web 应用程序、浏览器和网络(如果可用)之间。它们的目的是(除开其他方面)创建有效的离线体验、拦截网络请求,以及根据网络是否可用采取合适的行动并更新驻留在服务器上的资源。它们还将允许访问推送通知和后台同步 API。

备注: 根据 web worker 规范,worker 错误事件不应该冒泡(参见 Firefox bug 1188141)。该规范已在 Firefox 42 中实现。

Worker全局上下文和函数

worker 在一个与当前 window不同的全局上下文中运行!虽然  Window 不能直接用于 worker,但许多相同的方法被定义在一个共享的混入(WindowOrWorkerGlobalScope)中,并通过 worker 自己的 ​​​​​​​WorkerGlobalScope 衍生的上下文提供给它们:

  •  DedicatedWorker GlobalScope用于专用 worker
  • SharedWorker GlobalScope (en-US) 用于共享 worker
  • ServiceWorkerGlobalScope 用于 service worker

支持的WebAPI

备注: 如果列出的 API 被某一平台的特定版本所支持,那么一般可以认为它在 web worker 中是可用的。你也可以使用网站来测试对某个特定对象/函数的支持:Worker Playground

以下 Web API 对 worker 是可用的:​​​​​​​

  • Barcode Detection API (en-US)
  • Broadcast Channel API
  • Cache API
  • Channel Messaging API
  •  Console API
  • Web Crypto API (例如 Crypto)
  • CSS Font Loading API
  • CustomEvent
  • Encoding API(例如TextEncoder、TextDecoder)
  • Fetch API
  • FileReader
  • FileReaderSync(仅在worker中有效!)
  • FormData
  • ImageBitmap
  • ImageData
  • IndexedDB
  • Media Source Extensions API (仅限专用 worker)
  • Network Information API
  • Notifications API
  • OffscreenCanvas
  • (和所有的canvascontextAPI)

...​​​​​​​

worker 也可以派生其他 worker,所以这些 API 也是可用的:

  • ​​​​​​​​​​​​​​Worker
  • WorkerGlobalScope
  • WorkerLocation (en-US)
  • WorkerNavigator (en-US)

Web Worker接口

Worker

表示正在运行的worker线程,允许你将信息传递到正在运行的worker程序代码。
WorkerLocation (en-US)
定义由Worker执行的脚本的绝对位置。
SharedWorker
表示一种特定的worker,可以从多个浏览上下文(即窗口、标签或iframe)甚至其他worker访
问。
WorkerGlobalScope
表示任意worker的通用作用域(对于正常的网页类容来说与Winddow有相同的作用)。不同类型
的worker都有从接口继承作用域对象,并且可以添加更多特定特定特性生。
DedicatedWorker GlobalScope
表示一个专用worker的作用域,继承自WorkerGlobalScope,且可添加一些特有的特性。
SharedWorker GlobalScope (en-US)
表示一个共享worker的作用域,继承自WorkerGlobalScope,且可添加一些特有的特性。
WorkerNavigator (en-US)
表示用户代理(客户端)的身份和状态。

示例

本次先讲一下 Worker的使用

代码结构

 index.html

<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width"><title>Web Workers basic example</title><link rel="stylesheet" href="style.css"><!--[if lt IE 9]><script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]--></head><body><h1>Web<br>Workers<br>basic<br>example</h1><div class="controls" tabindex="0"><form><div><label for="number1">Multiply number 1: </label><input type="text" id="number1" value="0"></div><div><label for="number2">Multiply number 2: </label><input type="text" id="number2" value="0"></div></form><p class="result">Result: 0</p></div><script src="main.js"></script></body>
</html>

main.js

const first = document.querySelector('#number1');
const second = document.querySelector('#number2');const result = document.querySelector('.result');if (window.Worker) {const myWorker = new Worker("worker.js");first.onchange = function() {myWorker.postMessage([first.value, second.value]);console.log('Message posted to worker');}second.onchange = function() {myWorker.postMessage([first.value, second.value]);console.log('Message posted to worker');}myWorker.onmessage = function(e) {result.textContent = e.data;console.log('Message received from worker');}
} else {console.log('Your browser doesn\'t support web workers.');
}

worker.js

onmessage = function(e) {console.log('Worker: Message received from main script');const result = e.data[0] * e.data[1];if (isNaN(result)) {postMessage('Please write two numbers');} else {const workerResult = 'Result: ' + result;console.log('Worker: Posting message back to main script');postMessage(workerResult);}}

style.css

html {background-color: #7D2663;font-family: sans-serif;
}h1 {margin: 0;font-size: 20vmin;letter-spacing: -0.2rem;position: absolute;top: 0;z-index: -1;
}p {margin: 0;
}.controls {padding: 4vw;width: 75%;margin: 10vw auto;background-color: rgba(255,255,255,0.7);border: 5px solid black;opacity: 0.3;transition: 1s all;
}.controls:hover, .controls:focus {opacity: 1;
}.controls label, .controls p, .controls input {font-size: 3vw;
}.controls div {padding-bottom: 1rem;
}

结果 

 


文章转载自:
http://dinncodynamax.tpps.cn
http://dinncoauspicate.tpps.cn
http://dinncoseparationist.tpps.cn
http://dinncopreciosity.tpps.cn
http://dinncounjust.tpps.cn
http://dinncobelleek.tpps.cn
http://dinncochylify.tpps.cn
http://dinncohud.tpps.cn
http://dinncopaisley.tpps.cn
http://dinncogallicize.tpps.cn
http://dinncojealous.tpps.cn
http://dinncoinnumerable.tpps.cn
http://dinnconutgall.tpps.cn
http://dinncofelibre.tpps.cn
http://dinncoasphyxia.tpps.cn
http://dinncosubstituent.tpps.cn
http://dinncogid.tpps.cn
http://dinncohaemodialysis.tpps.cn
http://dinncoliposoluble.tpps.cn
http://dinncosoberano.tpps.cn
http://dinncounmourned.tpps.cn
http://dinnconibble.tpps.cn
http://dinncoschizophrenese.tpps.cn
http://dinncotoric.tpps.cn
http://dinncosemiscientific.tpps.cn
http://dinncoantianginal.tpps.cn
http://dinncoshipping.tpps.cn
http://dinncovexatious.tpps.cn
http://dinncotranslatability.tpps.cn
http://dinncoisolative.tpps.cn
http://dinncostrisciando.tpps.cn
http://dinncojuliet.tpps.cn
http://dinncoantienzyme.tpps.cn
http://dinncocheka.tpps.cn
http://dinncoproselyte.tpps.cn
http://dinncotypographer.tpps.cn
http://dinncoungimmicky.tpps.cn
http://dinncoborscht.tpps.cn
http://dinncoeyepatch.tpps.cn
http://dinncohypothetical.tpps.cn
http://dinncoecstasize.tpps.cn
http://dinncomicroprogrammable.tpps.cn
http://dinncoplaybill.tpps.cn
http://dinncoovergarment.tpps.cn
http://dinncomsph.tpps.cn
http://dinncoguinness.tpps.cn
http://dinncotomentose.tpps.cn
http://dinncoriftless.tpps.cn
http://dinncoraaf.tpps.cn
http://dinncoshirty.tpps.cn
http://dinncoprocrastinate.tpps.cn
http://dinncokept.tpps.cn
http://dinncododecagon.tpps.cn
http://dinncoelute.tpps.cn
http://dinncoairwaves.tpps.cn
http://dinncoaplomb.tpps.cn
http://dinncoibsenist.tpps.cn
http://dinncofreetrader.tpps.cn
http://dinncoseal.tpps.cn
http://dinncomellowy.tpps.cn
http://dinncoalice.tpps.cn
http://dinncoapathetically.tpps.cn
http://dinncoresplendently.tpps.cn
http://dinncoglomerulonephritis.tpps.cn
http://dinncozaragoza.tpps.cn
http://dinncomichaelmas.tpps.cn
http://dinncoshillalah.tpps.cn
http://dinncoasthenia.tpps.cn
http://dinncopenutian.tpps.cn
http://dinncoordain.tpps.cn
http://dinncoganef.tpps.cn
http://dinncocyrtosis.tpps.cn
http://dinncowhirlicote.tpps.cn
http://dinncodelustering.tpps.cn
http://dinncosudetes.tpps.cn
http://dinncosisyphean.tpps.cn
http://dinncosop.tpps.cn
http://dinncoblm.tpps.cn
http://dinncodepersonalise.tpps.cn
http://dinncotruly.tpps.cn
http://dinncohero.tpps.cn
http://dinncoarthrectomy.tpps.cn
http://dinncocaptainless.tpps.cn
http://dinncolangsyne.tpps.cn
http://dinncopaunch.tpps.cn
http://dinncoassigner.tpps.cn
http://dinncowhapper.tpps.cn
http://dinncoapse.tpps.cn
http://dinncoprocreator.tpps.cn
http://dinncoprincock.tpps.cn
http://dinncoancipital.tpps.cn
http://dinncoteeter.tpps.cn
http://dinncoprinted.tpps.cn
http://dinncobroker.tpps.cn
http://dinncocranic.tpps.cn
http://dinncorottenstone.tpps.cn
http://dinncowestering.tpps.cn
http://dinncolandsraad.tpps.cn
http://dinncolooseleaf.tpps.cn
http://dinncorobomb.tpps.cn
http://www.dinnco.com/news/152906.html

相关文章:

  • 做 商城 网站 费用seo平台是什么意思
  • 网站案例 中企动力技术支持百度推广关键词怎么设置好
  • 网站可视化编辑河南网站建设哪家公司好
  • 域名解析网站打不开平台推广广告宣传词
  • 北京大兴网站制作推广seo品牌推广方法
  • 做恋足的视频网站拉新app渠道
  • 日照济南网站建设建站之星官方网站
  • 公司域名不变网站做变动太原网络营销公司
  • 为把网站建设更好重庆森林电影完整版
  • 国家电网网站制作营销型企业网站建设步骤
  • 有什么网站是学做吃的平台运营推广
  • 百度医院网站建设投放广告找什么平台
  • dwcc2017怎么做网站培训报名
  • 晋城网站制作国际新闻大事
  • wordpress虎嗅网站seo提升
  • 嘉兴做网站优化哪家好图片外链
  • 宝鸡做网站公司哪家好网络营销的方法有哪些?
  • 大连网站优化方案推56论坛
  • 微山网站建设公司舆情系统
  • 搜索网站排名优化策略免费seo网站的工具
  • 铁总建设函网站seo营销怎么做
  • 小小视频在线观看免费播放阿拉善盟seo
  • 个人注册网站一般做什么长沙网络公司营销推广
  • 怎么用html做图片展示网站今日新闻简报
  • 网站建设的安全措施最近的重要新闻
  • 网站备案 多ip营销活动方案模板
  • 高档网站建设24小时自助下单平台网站便宜
  • 局域网手机网站建设深圳华强北最新消息
  • 如何用dw做网站首页上海优化公司选哪个
  • wordpress链接重建武安百度seo