Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Web workers support

Does Web worker support?

  1. XMLHttpRequest and Call back
  2. File upload
  3. Websockets

I found very confusing answers in different sites.

Thanks for your help...

like image 959
Nigilan Avatar asked Jun 08 '26 22:06

Nigilan


1 Answers

When in doubt, test it out. My version of Chromium suggests the answers are:

  • XMLHttpRequest: Yes
  • File upload: Yes
  • Websockets: Yes

Source here and below.


<!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>
like image 169
buley Avatar answered Jun 11 '26 12:06

buley



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!