2012-06-19 80 views
3

Web工作人员是否支持?Web工作人员支持

  1. 的XMLHttpRequest和回拨
  2. 文件上传
  3. 的WebSockets

我发现,在不同的地点非常混乱的答案。

感谢您的帮助...

+0

我知道刚才你已经达到阈值能够接受的答案,但让我知道,如果你需要更多的点击这里 – buley

+0

雅请,帮我对于在网络工作者网络插座的使用..我很清楚XHR和回调。 – Nigilan

回答

2

如有疑问,请试用。我的铬版暗示的答案是:

来源here及以下。


<!doctype html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>Embedded Web Worker Test</title> 
<script type="text/js-worker"> 
    var xmlhttp = 'XMLHttpRequest: ' + (('function' === typeof XMLHttpRequest) ? ' YES' : ' NO') 
    var file_reader = 'FileReader: ' + (('function' === typeof FileReader) ? ' YES' : ' NO') 
    var websockets = 'Websockets: ' + (('function' === typeof WebSocket) ? ' YES' : ' NO')  
    var myVar = "Test results: " + xmlhttp + ", " + file_reader + ", " + websockets; 
</script> 
<script type="text/javascript"> 
    function log_worker_msg(worker_msg) { 
    var frag = document.createDocumentFragment(); 
    frag.appendChild(document.createTextNode(worker_msg)); 
    document.querySelector("#worker_log").appendChild(frag); 
    } 
</script> 
<script type="text/js-worker"> 
    self.onmessage = function (oEvent) { 
    self.postMessage(myVar); 
    }; 
</script> 
<script type="text/javascript"> 

    var oBuilder = new WebKitBlobBuilder() || new MozBlobBuilder(); 
    Array.prototype.forEach.call(document.querySelectorAll("script[type=\"text\/js-worker\"]"), function (oScript) { oBuilder.append(oScript.textContent); }); 

    var obj_url = window.webkitURL.createObjectURL(oBuilder.getBlob()) || window.URL.createObjectURL(oBuilder.getBlob()); 
    document.worker = new Worker(obj_url); 

    document.worker.onmessage = function (oEvent) { 
    log_worker_msg(oEvent.data); 
    }; 

    window.onload = function() { document.worker.postMessage(""); }; 
</script> 
</head> 
<body><div id="worker_log"></div></body> 
</html> 
+0

谢谢...非常感谢.. – Nigilan

+0

如果我的回答适合您的需求,请将其标记为“正确”。否则,让我知道我能做些什么来帮助 – buley

+0

我使用的是Firefox 13,它显示以下错误:WebKitBlobBuilder未定义 – Nigilan

0

你webworker支持测试包含显著错误,这导致工人扔引用错误。 BlobBuilder已弃用,Blob最好在浏览器范围内使用,但尚未得到广泛支持。

Blob support

我已经改正了嵌入式工人测试针对 XMLHttpRequest的 文件上传 的WebSockets

测试它的支持的缘故校正源就在这里。 corrected source

function log_worker_msg(worker_msg) { 
    var frag = document.createDocumentFragment(); 
    frag.appendChild(document.createTextNode(worker_msg)); 
    document.querySelector("#worker_log").appendChild(frag); 
} 
var aFileParts = ["var xmlhttp = \'XMLHttpRequest: \' + ((\'function\' === typeof XMLHttpRequest) ? \' YES\' : \' NO\');var file_reader = 'FileReader: ' + ((\'function\' === typeof FileReader) ? \' YES\' : \' NO\');var websockets = \'Websockets: \' + ((\'function\' === typeof WebSocket) ? \' YES\' : \' NO\');var myVar = \"Test results: \" + xmlhttp + \", \" + file_reader + \", \" + websockets;self.onmessage=function(oEvent){self.postMessage(myVar)};"]; 
var oBuilder = new Blob(aFileParts, { "type" : "text\/javascript" }); 
var obj_url = window.webkitURL.createObjectURL(oBuilder) || window.URL.createObjectURL(oBuilder); 
document.worker = new Worker(obj_url); 
document.worker.onmessage = function (oEvent) { 
    log_worker_msg(oEvent.data); 
}; 
window.onload = function() { document.worker.postMessage(""); };