我创建了从单独的文件和内联工作人员(blob)调用的网络工作人员。在大多数浏览器中,这两者都不会始终如一地工作。我正在按照以下教程使用 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)或其他明智的跨域工作?