与 HTML 标准的不同
🌐 Differences from the HTML Standard
除了上面提到的脚本加载之外:
🌐 Besides script loading, mentioned above:
- Node.js 没有源模型,所以同源和跨源的区别不存在,并且对于每个支持的方案,
location.origin都是'null'。 close()会立即终止工作线程,而不是按照规范的“关闭标志”算法,因此在close()之后当前任务中剩下的代码不会被执行。- worker global 是普通的 Node.js 全局对象,只是在它的原型链中插入了
DedicatedWorkerGlobalScope,而不是从接口创建的全新全局对象。Node.js 的全局变量,比如process、Buffer和require(),在 worker 脚本中仍然可用。 ErrorEvent在Worker个实例中派发过,包括message和error,但是filename、lineno和colno总是''、0和0。未捕获的异常会终止工作线程,而未处理的error事件不会继续传播:它既不会到达父进程的全局作用域,也不会影响进程的退出代码。- 以下 WorkerGlobalScope 事件从未被触发,尽管它们的处理器属性存在:
languagechange、online和offline,因为这些概念在 Node.js 中不存在;rejectionhandled和unhandledrejection,因为 Node.js 暴露了等效的功能,但并不实现 HTML 标准要求的PromiseRejectionEvent接口或每次拒绝的preventDefault()行为。 - 从
file:URL 加载的模块工作者支持 类型剥离。