WindowOrWorkerGlobalScope - 描述了 Window 和 WorkerGlobalScope 接口共有的一些功能
WindowOrWorkerGlobalScope mixin 描述了 Window 和 WorkerGlobalScope 接口共有的一些功能。当然,除了下面列出的功能之外,每个接口都可以添加更多功能。
注意:
WindowOrWorkerGlobalScope是一个混合而不是一个接口;您实际上无法创建类型为WindowOrWorkerGlobalScope的对象。
属性
这些属性定义在 WindowOrWorkerGlobalScope 混合中,并由 Window 和 WorkerGlobalScope 实现。
WindowOrWorkerGlobalScope.caches 只读
返回与当前上下文关联的 CacheStorage 对象。该对象启用诸如存储数据以供脱机使用以及生成对请求的自定义响应之类的功能。
WindowOrWorkerGlobalScope.crossOriginIsolated 只读
返回一个布尔值,该布尔值指示是否可以通过 Window.postMessage() 调用发送 SharedArrayBuffer。
WindowOrWorkerGlobalScope.indexedDB 只读
返回一个 IDBFactory 对象,为应用程序提供一种机制来异步访问索引数据库的功能。
WindowOrWorkerGlobalScope.isSecureContext 只读
返回一个布尔值,指示当前上下文是否安全。
WindowOrWorkerGlobalScope.origin 只读
返回全局作用域的来源,序列化为一个字符串。(这似乎尚未在任何浏览器中实现。)
方法
这些方法定义在 WindowOrWorkerGlobalScope 混合中,并由 Window 和 WorkerGlobalScope 实现。
WindowOrWorkerGlobalScope.atob()
解码已使用 base-64 编码编码的数据字符串。
WindowOrWorkerGlobalScope.btoa()
根据二进制数据字符串创建一个以 64 为基数编码的 ASCII 字符串。
WindowOrWorkerGlobalScope.clearInterval()
取消使用 WindowOrWorkerGlobalScope.setInterval() 执行的重复集。
WindowOrWorkerGlobalScope.clearTimeout()
取消使用 WindowOrWorkerGlobalScope.setTimeout() 执行的延迟集。
WindowOrWorkerGlobalScope.createImageBitmap()
接受各种不同的图像源,并返回解析为 ImageBitmap 的 Promise。可选地,将源裁剪为以 (sx, sy) 为起点,宽度为 sw 且高度为 sh 像素的矩形。
WindowOrWorkerGlobalScope.fetch()
开始从网络获取资源的过程。
WindowOrWorkerGlobalScope.queueMicrotask()
入队一个微任务 - 一个简短的函数,在 JavaScript 代码执行完成且控制权未返回给 JavaScript 调用者之后,而在处理回调和其他任务之前执行。这允许您的代码在不干扰其他(可能是更高优先级的)代码的情况下,但是在浏览器运行时重新获得控制权之前(这可能取决于您需要完成的工作)运行。
WindowOrWorkerGlobalScope.setInterval()
计划每次给定毫秒数后执行的函数。
WindowOrWorkerGlobalScope.setTimeout()
安排要在给定时间内执行的功能。
规范
| 规范 | 状态 | 备注 |
|---|---|---|
HTML Living StandardWindowOrWorkerGlobalScope mixin 的定义 |
现行的标准 | 这里定义了主要的 mixin 。 |
桌面浏览器兼容性
| 特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| 基础支持 | 4 | 12 | 1 | 支持 | 支持 | 支持 |
atob | 4 | 12 | 1 271 572 | 10 | 10.5 | 3 |
btoa | 4 | 12 | 1 523 | 10 | 10.5 | 3 |
caches | 40 | ≤79 | 42 524 | 不支持 | 未知 | 不支持 |
clearInterval | 4 | 12 | 1 525 | 46 | 4 | 4 |
clearTimeout | 45 | 12 | 1 528 | 49 | 4 | 4 |
createImageBitmap | 50 | 79 | 5211 42 | 不支持 | 支持 | 不支持 |
crossOriginIsolated | 不支持 | 不支持 | 72 | 不支持 | 不支持 | 不支持 |
fetch | 42 | 14 | 39 34 5212 | 不支持 | 29 28 | 10.1 |
indexedDB | 24 | 12 | 16 10 moz 5213 | 10 | 15 | 7 |
isSecureContext | 55 | ≤79 | 52 | 未知 | 未知 | 未知 |
origin | 59 | ≤79 | 54 | 不支持 | 不支持 | 不支持 |
queueMicrotask | 71 | 79 | 69 | 不支持 | 58 | 12.1 |
setInterval | 30 | 12 | 1 5214 | 4 | 4 | 1 |
setTimeout | 30 | 12 | 1 5214 | 4 | 4 | 1 |
移动浏览器兼容性
| 特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
|---|---|---|---|---|---|---|---|
| 基础支持 | 支持 | 18 | 未知 | 4 | 未知 | 支持 | 支持 |
atob | ≤37 | 18 | 未知 | 4 271 572 | 未知 | 11 | 1 |
btoa | ≤37 | 18 | 未知 | 4 522 | 未知 | 11 | 1 |
caches | 支持 | 支持 | 未知 | 42 524 | 未知 | 支持 | 支持 |
clearInterval | 1 | 18 | 未知 | 4 525 | 未知 | 10.1 | 1 |
clearTimeout | 45 | 45 | 未知 | 4 528 | 未知 | 10.1 | 1 |
createImageBitmap | 50 | 50 | 未知 | 支持 | 未知 | 支持 | 未知 |
crossOriginIsolated | 不支持 | 不支持 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
fetch | 42 | 42 | 未知 | 39 34 5212 | 未知 | 29 28 | 10.3 |
indexedDB | 支持 | 25 | 未知 | 22 5213 | 未知 | 14 | 8 |
isSecureContext | 55 | 55 | 未知 | 52 | 未知 | 未知 | 未知 |
origin | 59 | 59 | 未知 | 54 | 未知 | 不支持 | 不支持 |
queueMicrotask | 71 | 71 | 未知 | 不支持 | 未知 | 50 | 12.2 |
setInterval | 4.4 | 30 | 未知 | 4 5214 | 未知 | 10.1 | 1 |
setTimeout | 4.4 | 30 | 未知 | 4 5214 | 未知 | 10.1 | 1 |
1. atob() 忽略参数中的所有空格字符以符合最新的 HTML5 规范(请参见 bug 711180)。
2. atob() 现在定义在 WindowOrWorkerGlobalScope mixin 中。
3. btoa() 现在定义在 WindowOrWorkerGlobalScope mixin 中。
4. caches 现在定义在 WindowOrWorkerGlobalScope mixin 中。
5. clearInterval() 现在定义在 WindowOrWorkerGlobalScope mixin 中。
6. 从 Internet Explorer 4 到 8,clearInterval 是一个对象而不是一个函数。此行为已在 Internet Explorer 9 中修复。
7. 参数为 Timeout 对象而不是 intervalID。
8. clearTimeout() 现在定义在 WindowOrWorkerGlobalScope mixin 中。
9. 从 Internet Explorer 4 到 8,clearTimeout 是一个对象而不是一个函数。此行为已在 Internet Explorer 9 中修复。
10. 参数为 Timeout 对象而不是 timeoutID。
11. createImageBitmap() 现在定义在 WindowOrWorkerGlobalScope mixin 中。
12. fetch() 现在定义在 WindowOrWorkerGlobalScope mixin 中。
13. indexedDB 现在定义在 WindowOrWorkerGlobalScope mixin 中。
14. setInterval 现在定义在 WindowOrWorkerGlobalScope mixin 中。
15. 返回一个 Timeout 对象而不是 intervalID。
16. 不支持传递 code 字符串并在第一个参数不是函数时引发。
17. 返回一个 Timeout 对象而不是 timeoutID。