인라인 웹 작업자: 종합 안내서
웹 작업자는 일반적으로 별도의 JavaScript 파일에 정의되지만 인라인으로 생성하는 방법이 있습니다. 동일한 HTML 파일 내에서. 이 접근 방식은 배포할 개별 파일 수를 최소화하려는 경우, 특히 코드 최적화를 위해 클로저 컴파일러와 같은 도구를 사용할 때 유리합니다.
인라인 웹 작업자 생성
인라인 웹 작업자는 Blob()을 활용하여 작업자 코드에 대한 URL 핸들을 문자열로 생성합니다. 이를 통해 작업자를 HTML 파일에 직접 포함할 수 있습니다. 전체 예는 다음과 같습니다.
인라인 작업자 코드가 포함된 HTML:
<code class="html"><!DOCTYPE html> <script id="worker1" type="javascript/worker"> // This script won't be parsed by JS engines due to its type. self.onmessage = function(e) { self.postMessage('msg from worker'); }; </script></code>
기본 JavaScript 코드:
<code class="javascript">var blob = new Blob([ document.querySelector('#worker1').textContent ], { type: "text/javascript" }); // Use window.webkitURL.createObjectURL() for Chrome versions below 11. var worker = new Worker(window.URL.createObjectURL(blob)); worker.onmessage = function(e) { console.log("Received: " + e.data); }; worker.postMessage("hello"); // Start the worker.</code>
이 예에서 인라인 작업자 코드는