请记住,我以前从未使用过 Web Workers,而且我在理解它们时遇到了一些麻烦。
这是我正在做的简化版本的解释。
我的页面有各种文件的链接——有些是文本,有些是图像等。每个文件都有一个显示通用文件图标的图像。
我希望脚本用文件内容的预览替换每个通用图标。
该脚本将从服务器请求文件(从而将其添加到缓存中,如预加载器),然后创建画布并在其上绘制预览(图像缩略图,文本文件的文本摘录,更具体的图标对于媒体文件...),最后使用数据 URL 将通用图标的源替换为画布。
我可以很容易地做到这一点。但是,我更愿意将它放在后台,这样它在工作时就不会干扰 UI。
在我深入研究之前,我需要知道:Workers 可以使用画布,如果可以,我将如何创建一个?我认为document.createElement('canvas')
这行不通,因为工人无法访问 DOM,或者当我找到的所有引用都说他们“无法访问 DOM”时我误解了?