사파리만 지원이 잘 안된다.
곧 지원 예정이다.
웹푸시는 웹워커의 한 종류인 서비스워커를 통해 구현한다.
서비스워커는 브라우저가 백그라운드로 실행하는 스크립트다.
웹워커는 탭을 닫으면 종료 되지만
서비스워커는 탭을 닫아도 종료되지 않는다.
웹워커는 스크립트를 백그라운드에서 실행할 수 있다.
서비스워커는 브라우저가 닫힌 상태에서도 동작하므로 푸시 알림 구현 가능.
웹워커
const myWorker = new Worker('worker.js');
서비스워커
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('service-worker.js');
}
document.querySelector('#show').addEventListener('click', () => {
const iconUrl = document.querySelector('select').selectedOptions[0].value;
let imgElement = document.createElement('img');
imgElement.src = iconUrl;
document.querySelector('#container').appendChild(imgElement);
});
참조