이 기능에는 신체 텍스트, 아이콘, 제목 및 선택적 링크 및 알림 기간에 대한 매개 변수가 있습니다. 내부적으로, 우리는 알림 신체 텍스트와 아이콘을 저장하는 옵션 객체를 만듭니다. 또한 알림 제목과 옵션 객체를 전달하는 알림 객체의 새 인스턴스를 만듭니다.
다음, 알림에 링크하려면 onclick 핸들러를 추가합니다. Settimeout ()을 사용하여 지정된 시간 후에 알림을 끄십시오. 이 함수가 호출 될 때 시간이 지정되지 않은 경우 기본 5 초가 사용됩니다.
(function() {
if ("Notification" in window) {
// 代码在此处
}
})();
이제, 더 많은 정보에 대한 알림을 사용자에게 표시하려면 Checkversion ()을 수정합시다.
우리는 displayNotification 함수를 사용하여 설명, 이미지, 제목 및 알림에 대한 링크를 제공합니다. (function() {
if ("Notification" in window) {
var permission = Notification.permission;
if (permission === "denied" || permission === "granted") {
return;
}
Notification.requestPermission();
}
})();
전체 코드 및 테스트
다음은이 튜토리얼에 작성된 완전한 코드입니다.
(CodePen 링크 또는 전체 코드 블록을 여기에 삽입해야합니다)
이 코드를 실행하면 브라우저에서 다음 알림을 생성해야합니다.
테스트를 수행하려면 브라우저의 알림 권한에 익숙해야합니다. 다음은 Chrome, Safari, Firefox 및 Microsoft Edge에서 알림 관리에 대한 빠른 참조입니다. 또한 개발자 콘솔을 사용하여 쉬운 테스트를 위해 LocalStorage 값을 삭제하고 수정하는 데 익숙해야합니다.
스크립트를 한 번 실행하고 JS-CurrentVersion HTML 요소의 값을 스크립트로 변경하여 차이를 확인하여 예제를 테스트 할 수 있습니다. 동일한 버전으로 다시 실행하여 불필요한 알림을받지 않음을 확인할 수도 있습니다.
한 걸음 더 나아가
이것은 동적 브라우저 알림이 필요한 모든 것입니다! 보다 유연한 브라우저 알림을 찾고 있다면 Service Worker API를 이해하는 것이 좋습니다. Service Worker는 푸시 알림에 응답하는 데 사용될 수 있으므로 사용자는 현재 웹 사이트를 방문하는지 여부에 관계없이 알림을받을 수 있으므로보다시기 적절한 업데이트가 가능합니다.
브라우저 알림 API FAQ
브라우저 알림 API는 무엇이며 어떻게 작동합니까?
브라우저 알림 API를 사용하면 웹 애플리케이션이 사용자에게 시스템 알림을 표시 할 수 있습니다. 이러한 알림은 모바일 장치에 대한 푸시 알림과 유사하며 웹 페이지에 초점을 맞추지 않더라도 표시 할 수 있습니다. API는 알림을 표시하도록 사용자 권한을 요청하여 작동합니다. 허가가 얻어지면 웹 응용 프로그램은 알림 개체를 사용하여 알림을 작성하고 표시 할 수 있습니다.
표시 권한을 표시 할 알림을 요청하는 방법은 무엇입니까?
권한을 요청하려면 altification.requestPermission () 메소드를 사용할 수 있습니다. 이 방법은 사용자에게 알림을 표시 할 수 있는지 묻는 대화 상자를 보여줍니다. 이 방법은 약속을 반환하여 권한 상태로 해결되며, 이는 "부여", "거부"또는 "기본값"을받을 수 있습니다.
알림을 작성하고 표시하는 방법은 무엇입니까?
일단 허가가 얻어지면 알림 생성자를 사용하여 알림을 작성하고 표시 할 수 있습니다. 이 생성자는 두 가지 매개 변수, 즉 알림 제목과 옵션 객체를 수용합니다. 옵션 객체에는 본문 (알림 텍스트), 아이콘 (표시 할 아이콘) 및 태그 (알림의 식별자)와 같은 속성이 포함될 수 있습니다.
웹 페이지에 초점이 맞지 않더라도 알림을 표시 할 수 있습니까?
예, 브라우저 알림 API를 사용하면 웹 페이지에 초점이 맞지 않더라도 알림을 표시 할 수 있습니다. 이는 응용 프로그램을 적극적으로 사용하지 않더라도 중요한 이벤트를 사용자에게 알리는 웹 애플리케이션에 매우 유용합니다.
알림에 대한 클릭 이벤트를 처리하는 방법은 무엇입니까?
알림 객체에 이벤트 리스너를 추가하여 알림에 대한 클릭 이벤트를 처리 할 수 있습니다. 사용자가 알림을 클릭하면 이벤트 리스너 기능이 호출됩니다.
프로그래밍 방식으로 알림을 끄질 수 있습니까?
예, 알림 개체에서 Close () 메소드를 호출하여 프로그래밍 방식으로 알림을 사용할 수 있습니다. 이것은 잠시 후 알림을 자동으로 끄려면 유용합니다.
모든 브라우저가 브라우저 알림을 지원합니까?
대부분의 최신 브라우저는 Chrome, Firefox, Safari 및 Edge를 포함한 브라우저 알림을 지원합니다. 그러나 지원은 이러한 브라우저의 다양한 버전마다 다를 수 있으며 일부 이전 브라우저는 알림을 전혀 지원하지 않을 수 있습니다.
알림 모양을 사용자 정의 할 수 있습니까?
알림의 모양은 운영 체제 및 브라우저에 크게 의존합니다. 그러나 제목, 본문 및 아이콘과 같은 알림 생성자에게 전달 된 옵션 개체를 사용하여 알림의 특정 측면을 사용자 정의 할 수 있습니다.
사용자가 알림 표시 권한을 부여했는지 확인하는 방법은 무엇입니까?
알림에 액세스하여 현재 권한 상태를 확인할 수 있습니다. 이 속성은 사용자가 권한을 거부 한 경우 "거부 된"경우 "부여"및 권한 요청에 응답하지 않은 경우 "기본값"입니다.
내 작업자 스크립트에서 브라우저 알림 API를 사용할 수 있습니까?
예, 브라우저 알림 API는 작업자 스크립트에서 사용할 수 있습니다. 이를 통해 메인 페이지에 초점이 맞지 않더라도 백그라운드 작업에서 알림을 표시 할 수 있습니다.