2016-09-15 58 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格式顯示。

這也是保持數據處理和視覺渲染分離的好方法。