据我所知,Web Workers无法访问主文档DOM,但有没有人成功尝试使用jQuery在Web Worker中构建部分DOM,输出生成的HTML,然后将其附加到文档DOM?
与UI线程上的渲染相比,它是否提供了大量的性能改进,值得以线程安全的方式实现这一点的额外痛苦?
这是否会尝试将Web Workers用于他们不应该使用的东西?
答案 0 :(得分:0)
这很大程度上取决于您尝试生成哪种HTML。但是,您可能需要监督一个大问题。这不仅仅是因为您无法访问主线程的DOM。
您无法在工作人员中创建
HTMLElement
个对象实例。
因此,即使您遇到生成HTML的麻烦,您也必须将其转换为HTML字符串或JSON,在主线程中解析它并将其转换为DOM对象。
值得的唯一情况是生成时,HTML的数据是CPU密集型的。在这种情况下,您只需生成数据,发送到主线程并以HTML格式显示。
这也是保持数据处理和视觉呈现分离的好方法。