請記住,我以前從未使用過網絡工作者,並且在繞過他們時遇到了一些麻煩。網絡工作者的限制
下面是我在做什麼的簡化版本的解釋。
我的頁面有鏈接到的各種文件 - 有些是文字,有些是圖像等每個文件顯示通用文件圖標的圖像。
我希望腳本與該文件的內容的預覽替換每個通用圖標。
腳本會向服務器請求文件(從而將其添加到緩存中,就像預加載器一樣),然後創建一個畫布並在其上繪製預覽(圖像的縮略圖,文本文件的摘錄,媒體文件的更具體的圖標...),最後用畫布使用數據URL替換通用圖標的源代碼。
我可以很容易地做到這一點。不過,我寧願將它放在後臺,以免在用戶界面運行時干擾用戶界面。
之前我吧;這一點,我需要知道:能工人用帆布工作,如果是的話我將如何創建?我不認爲document.createElement('canvas')
會工作,因爲工人不能訪問DOM,或者我誤解了所有我發現的引用說他們「無法訪問DOM」?
你的意思是你無法加載圖像?就像下載它們或將它們顯示爲「img」一樣? – ozanmuyes 2014-01-13 00:01:22
@dihejaso - 網絡工作者限制他們可以做什麼,不可以做什麼。他們不能創建DOM元素。 – jfriend00 2014-01-13 00:05:55
好了,現在清楚了;我們可以通過XHR下載任何東西,但DOM受到限制。由於'postMessage()'函數存在,DOM更新可以通過封裝源文件來實現。 – ozanmuyes 2014-01-13 05:47:01