我创建了从单独的文件和内联工作者(blob)调用的Web worker。在大多数浏览器中,这两种方法都不会一致。我按照下面的教程使用COR。
http://www.html5rocks.com/en/tutorials/workers/basics/
http://www.html5rocks.com/en/tutorials/cors/
问题在于,当我使用内联工作者(blob)时,他们在Chrome和Firefox中工作,但不能在IE,Safari或Opera中工作。此代码将用于跟踪目的,因此需要跨多个域工作。
在后端,我有:
Response.AppendHeader("Access-Control-Allow-Origin", "*");
在前端我有
var blob = new Blob([
"POST to a page that colllects information about what has been clicked usng CORs"]);
// Obtain a blob URL reference
var blobURL = window.URL.createObjectURL(blob);
var workerBlob = new Worker(blobURL);
workerBlob.onmessage = function (event) {
withWorker.removeEventListener('click', addBtnClickListener, false);
withWorker.click();
return true;
//the worker is tracking a button click
};
workerBlob.postMessage(url);
//release the blob
window.URL.revokeObjectURL(blobURL);
是否有另一种方法可以让网络工作者内联(blob)或其他方式跨域工作?