2016-09-15 57 views
-3

据我所知,Web Workers无法访问主文档DOM,但任何人都已成功尝试使用jQuery在Web Worker中构建部分DOM,输出生成的HTML并将其附加到文档DOM?与Web工作人员的jQuery呈现

它是否提供了大量的UI线程渲染性能改进,值得以线程安全的方式实现这个额外的痛苦?

这会试图使用网络工作者的东西,他们不应该用于?

+0

这个问题要么过于宽泛(基本上是要求DOM渲染器的JavaScript实现),要么不清楚。如果它是值得它在单独的线程中呈现每个帧,那么将会这样做。但是所有软件,不仅仅是浏览器,在主线程中呈现基本的用户界面。 –

+0

@TomášZato它不仅仅是渲染,更是我感兴趣的HTML构建(我编辑了我的问题)。我对这是否可行有兴趣,而不是全面实施。 –

+0

[HTML5 Web Workers](http://www.w3schools.com/html/html5_webworkers.asp)需要注意的是,如果您离开或用户更改了“范围”,则结果可能不是必需的。 ..但它接缝可能,如果你管理得好... –

回答

0

它很大程度上取决于您尝试生成哪种HTML。但是,您可能会监督一个大问题。这不仅仅是你无法访问主线程的DOM。

不能在所有创建工人HTMLElement对象实例。

所以,即使您经历了生成HTML的麻烦,您将不得不将其转换为HTML字符串或JSON,在主线程中解析它并将其转换为DOM对象。

这是值得的唯一情况是当生成 HTML的数据是CPU密集型的。在这种情况下,您可以生成数据,发送到主线程并以HTML格式显示。

这也是保持数据处理和视觉渲染分离的好方法。