{"id":149001,"date":"2019-12-26T12:18:09","date_gmt":"2019-12-26T12:18:09","guid":{"rendered":"https:\/\/webkul.com\/blog\/?p=149001"},"modified":"2019-12-26T12:25:51","modified_gmt":"2019-12-26T12:25:51","slug":"web-worker","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/web-worker\/","title":{"rendered":"Web Worker"},"content":{"rendered":"<p>Web Worker is a javascript script execute in the background of web pages without interfering with the user interface, also have been executed from the same HTML page.<\/p>\n<p><strong>Why Use Web Worker(Benefit\u00a0of Web worker)&#8211;<\/strong><\/p>\n<p>Suppose you use the number of concurrency request using UI so after few second you see UI\u00a0stops working or other words due to concurrency of request UI is not work until all request executed so avoid this issue we use the Web Workers is work without affecting the user interface.<\/p>\n<p><strong>Type of Web Worker &#8212;<\/strong><\/p>\n<p>Web Worker is Two type,\u00a0<strong>Shared<\/strong>, and <strong>Dedicated<\/strong>\u00a0Web worker.<\/p>\n<p><strong>Shared Web Worker &#8212;<\/strong><\/p>\n<p>Shared Web Worker each web Web Worker can have multiple connections that means you can use multiple pages of single Web Workers. Shared Web Worker constructor creates a new SharedWorker() object instance for representing<\/p>\n<pre class=\"brush:js \">new SharedWorker();\n<\/pre>\n<p><strong>Dedicated\u00a0Web worker &#8212;<\/strong><\/p>\n<p>Dedicated Web Worker creating with URL to the javascript file. The Worker() constructor is invoked with the URL to that file as its only argument, a worker is then created and returned.<\/p>\n<pre class=\"brush:js\">var worker = new Worker('test.js');<\/pre>\n<p><strong>Limitations of Web Worker&#8211;<\/strong><\/p>\n<ul>\n<li>Web workers cannot access DOM elements.<\/li>\n<li>Web workers cannot access global variables and JavaScript functions from the web page.<\/li>\n<li>Web workers can&#8217;t call alert() or confirm() functions.<\/li>\n<li>Window object cannot access inside the web worker.<\/li>\n<li>Document object can&#8217;t be accessed inside the Web Worker.<\/li>\n<li>Parent object can&#8217;t be accessed inside the Web Worker.<\/li>\n<li>Cross-browser policy.<\/li>\n<\/ul>\n<p>Example: In the example, we see how to send and receive\u00a0data, we use two file\u00a0first HTML\u00a0file, and the second js file name is main.js.<\/p>\n<pre class=\"brush:xml\">&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n  &lt;head&gt;\n    &lt;meta charset=\"UTF-8\"  \/&gt;\n    &lt;title&gt;Web Workers&lt;\/title&gt;\n  &lt;\/head&gt;\n  &lt;body&gt;\n  &lt;div id=\"message\"&gt;&lt;\/div&gt;\n\n  &lt;script language=\"javascript\"&gt;\n\n    var worker = new Worker('main.js');\n\n    worker.onmessage = function(event) {\n      document.getElementById('message').textContent = event.data; \/\/ Use for get data from main.js and  show data\n    };\n\n    worker.postMessage('3');  \/\/ send value to the main.js\n\n  &lt;\/script&gt;\n  &lt;\/body&gt;\n&lt;\/html&gt;  \n<\/pre>\n<p>Now main.js file here we see the simple program for check given number is even or odd.<\/p>\n<pre class=\"brush:js\">onmessage = function(event) {\n    var number = event.data; \/\/ get data\n    if (number % 2 === 0) {\n       postMessage('Given Number(' + number + ') is even number');\n     } else {\n      postMessage('Given Number(' + number + ') is odd number');\n    }\n };<\/pre>\n<p><strong>Output:<\/strong> <img decoding=\"async\" class=\"alignnone wp-image-151572 \" title=\"Output image\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/11\/result_web_worker.png\" alt=\"Given number(3) is Odd\" width=\"603\" height=\"51\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/11\/result_web_worker.png 627w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/11\/result_web_worker-250x21.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/11\/result_web_worker-300x25.png 300w\" sizes=\"(max-width: 603px) 100vw, 603px\" loading=\"lazy\" \/><\/p>\n<p>The Web worker sets the property\u00a0<strong>onmessage<\/strong>\u00a0to a function which will receive messages sent when the worker object&#8217;s\u00a0<strong>postMessage<\/strong>().<\/p>\n<p>In case you have any Query then feel free to ask in the comment section below.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Web Worker is a javascript script execute in the background of web pages without interfering with the user interface, also have been executed from the same HTML page. Why Use Web Worker(Benefit\u00a0of Web worker)&#8211; Suppose you use the number of concurrency request using UI so after few second you see UI\u00a0stops working or other words <a href=\"https:\/\/webkul.com\/blog\/web-worker\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":223,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[305],"tags":[],"class_list":["post-149001","post","type-post","status-publish","format-standard","hentry","category-opencart"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Web Worker - Webkul Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webkul.com\/blog\/web-worker\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Web Worker - Webkul Blog\" \/>\n<meta property=\"og:description\" content=\"Web Worker is a javascript script execute in the background of web pages without interfering with the user interface, also have been executed from the same HTML page. Why Use Web Worker(Benefit\u00a0of Web worker)&#8211; Suppose you use the number of concurrency request using UI so after few second you see UI\u00a0stops working or other words [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/web-worker\/\" \/>\n<meta property=\"og:site_name\" content=\"Webkul Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webkul\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-12-26T12:18:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-12-26T12:25:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2018\/11\/result_web_worker.png\" \/>\n<meta name=\"author\" content=\"Dilip Kumar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webkul\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dilip Kumar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/web-worker\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/web-worker\/\"},\"author\":{\"name\":\"Dilip Kumar\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/ba9ea4b96b34b29ead411f909bec1de8\"},\"headline\":\"Web Worker\",\"datePublished\":\"2019-12-26T12:18:09+00:00\",\"dateModified\":\"2019-12-26T12:25:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/web-worker\/\"},\"wordCount\":321,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/web-worker\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2018\/11\/result_web_worker.png\",\"articleSection\":[\"opencart\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/web-worker\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/web-worker\/\",\"url\":\"https:\/\/webkul.com\/blog\/web-worker\/\",\"name\":\"Web Worker - Webkul Blog\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/web-worker\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/web-worker\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2018\/11\/result_web_worker.png\",\"datePublished\":\"2019-12-26T12:18:09+00:00\",\"dateModified\":\"2019-12-26T12:25:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/web-worker\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/web-worker\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/web-worker\/#primaryimage\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/11\/result_web_worker.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/11\/result_web_worker.png\",\"width\":627,\"height\":53},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/web-worker\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Web Worker\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webkul.com\/blog\/#website\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"name\":\"Webkul Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webkul.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webkul.com\/blog\/#organization\",\"name\":\"WebKul Software Private Limited\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"width\":380,\"height\":380,\"caption\":\"WebKul Software Private Limited\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webkul\/\",\"https:\/\/x.com\/webkul\",\"https:\/\/www.instagram.com\/webkul\/\",\"https:\/\/www.linkedin.com\/company\/webkul\",\"https:\/\/www.youtube.com\/user\/webkul\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/ba9ea4b96b34b29ead411f909bec1de8\",\"name\":\"Dilip Kumar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d2f01d36e5ba04a7c5574295c661a96d202dd4fc55accdcba5972ece1ce93479?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d2f01d36e5ba04a7c5574295c661a96d202dd4fc55accdcba5972ece1ce93479?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"caption\":\"Dilip Kumar\"},\"url\":\"https:\/\/webkul.com\/blog\/author\/dilipkumar-oc571\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Web Worker - Webkul Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/webkul.com\/blog\/web-worker\/","og_locale":"en_US","og_type":"article","og_title":"Web Worker - Webkul Blog","og_description":"Web Worker is a javascript script execute in the background of web pages without interfering with the user interface, also have been executed from the same HTML page. Why Use Web Worker(Benefit\u00a0of Web worker)&#8211; Suppose you use the number of concurrency request using UI so after few second you see UI\u00a0stops working or other words [...]","og_url":"https:\/\/webkul.com\/blog\/web-worker\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2019-12-26T12:18:09+00:00","article_modified_time":"2019-12-26T12:25:51+00:00","og_image":[{"url":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2018\/11\/result_web_worker.png","type":"","width":"","height":""}],"author":"Dilip Kumar","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Dilip Kumar","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/web-worker\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/web-worker\/"},"author":{"name":"Dilip Kumar","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/ba9ea4b96b34b29ead411f909bec1de8"},"headline":"Web Worker","datePublished":"2019-12-26T12:18:09+00:00","dateModified":"2019-12-26T12:25:51+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/web-worker\/"},"wordCount":321,"commentCount":2,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/web-worker\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2018\/11\/result_web_worker.png","articleSection":["opencart"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/web-worker\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/web-worker\/","url":"https:\/\/webkul.com\/blog\/web-worker\/","name":"Web Worker - Webkul Blog","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/web-worker\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/web-worker\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2018\/11\/result_web_worker.png","datePublished":"2019-12-26T12:18:09+00:00","dateModified":"2019-12-26T12:25:51+00:00","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/web-worker\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/web-worker\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/web-worker\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/11\/result_web_worker.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2018\/11\/result_web_worker.png","width":627,"height":53},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/web-worker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Web Worker"}]},{"@type":"WebSite","@id":"https:\/\/webkul.com\/blog\/#website","url":"https:\/\/webkul.com\/blog\/","name":"Webkul Blog","description":"","publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webkul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webkul.com\/blog\/#organization","name":"WebKul Software Private Limited","url":"https:\/\/webkul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","width":380,"height":380,"caption":"WebKul Software Private Limited"},"image":{"@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webkul\/","https:\/\/x.com\/webkul","https:\/\/www.instagram.com\/webkul\/","https:\/\/www.linkedin.com\/company\/webkul","https:\/\/www.youtube.com\/user\/webkul\/"]},{"@type":"Person","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/ba9ea4b96b34b29ead411f909bec1de8","name":"Dilip Kumar","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d2f01d36e5ba04a7c5574295c661a96d202dd4fc55accdcba5972ece1ce93479?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d2f01d36e5ba04a7c5574295c661a96d202dd4fc55accdcba5972ece1ce93479?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","caption":"Dilip Kumar"},"url":"https:\/\/webkul.com\/blog\/author\/dilipkumar-oc571\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/149001","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/users\/223"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=149001"}],"version-history":[{"count":28,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/149001\/revisions"}],"predecessor-version":[{"id":217409,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/149001\/revisions\/217409"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=149001"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=149001"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=149001"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}