-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
32 lines (23 loc) · 822 Bytes
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
const form = document.querySelector('#message-form')
const messages = document.querySelector('#messages')
if (window.SharedWorker) {
const worker = new SharedWorker('worker.js')
worker.port.start()
worker.port.onmessage = (event) => {
messages.innerHTML = ''
event.data.forEach((messageText) => {
const message = document.createElement('li')
message.textContent = messageText
messages.appendChild(message)
})
}
form.addEventListener('submit', (event) => {
event.preventDefault()
const input = form.querySelector('input[name="message"]')
const message = input.value
input.value = ''
worker.port.postMessage(message)
})
} else {
console.error('SharedWorker not supported')
}