4
Can I load a web worker script from an absolute URL? - 這裏的答案是否定的。Web Worker加載絕對URL
然而,有一個黑客,我發現反正做到這一點:
var worker; //= new Worker('http://xyz/FSWorker.js');
var xhr = new XMLHttpRequest();
xhr.open("GET", 'http://xyz/FSWorker.js');
xhr.responseType = 'blob';
xhr.onload = function(e) {
var blob = this.response;
worker = new Worker(window.URL.createObjectURL(blob));
fs_ready(); // do more stuff here
};
xhr.send(null);
我不喜歡這種方法了 - 我現在已經開始使用,只有當一個XHR完成工人。另一種選擇是與內聯工作者一起工作,但這更加醜陋,因爲那樣我就不得不將所有的代碼放到一個巨大的字符串中。
有沒有更好的方法來做到這一點?
謝謝。唯一的問題是我認爲它比較慢。該代碼將在額外的RTT後運行以獲取腳本。我不喜歡優化瀏覽器。 – whadar