Safari 中的 Web Worker

Web Worker in Safari

我最近将网络工作者用于 PWA,并在我的工作者中调用 Self.RequestAnimationFrame()。 但问题就在 Safari 浏览器 中,它是火异常 RequestAnimationFrame() 不存在。 问题是:

WorkerScope.requestAnimationFrame(注意 lower-cased r)最近才被添加到标准中,截至今天,只有基于 Chrome 的浏览器才支持它.
请注意,它已被添加,以便我们可以将它与 OffsreenCanvas, 一起使用,在此用途之外使用此方法几乎没有意义,因为您的 Worker 与监视器断开连接。

鉴于您没有说明为什么需要此方法,因此很难找到合适的等效方法,但很可能一个简单的 setTimeout(fn, 16) 就可以,或者如果它是为了响应某些动画发生在主线程,那么只响应onmessage个事件。