「홈 화면에 추가」부터 시작하는 「PWA(Service Worker)」
7855 단어 ChromeServiceWorker자바스크립트PWA
브라우저 푸시의 알림이나 캐시 등의 기능에 Service Worker의 주목이 모이기 쉽지만, 이러한 구현은 상당히 복잡하고 어렵습니다.
그 중에서도 가장 구현이 쉬운 Service Worker(?)가 홈 화면에 추가 기능입니다.
이 기능은 Service Worker의 JS는 1문자 쓸 필요가 없기 때문에 Service Worker의 구현을 시작하기 전에 해 두는 것도 좋다고 생각합니다.
실제로 구현해 보면, 아래에서 휙 나옵니다.
조건
필요합니다. SSL은 ぇtps://ぇつぇ crypt. rg/ 에서 무료로 넣을 수 있으므로 넣자.
manifest.json 만들기
/manifest.json
{
"name": "GAMY(ゲーミー)- みんなのゲーム攻略メディア",
"short_name": "GAMY攻略",
"icons": [
{
"src": "/static/img/icon/144.png",
"sizes": "144x144",
"type": "image/png"
}
],
"start_url": "/",
"display": "standalone",
"theme_color": "#e91e63"
}
Chrome 확장의 manifest.json과 대체로 함께 있지만 icons 주위와 다르므로주의
이름
설명
이름
애플리케이션 이름
short_name
홈 화면에 표시되는 약어
icons
아이콘
start_url
앱을 열 때 URL
디스플레이
표시 형식
theme_color
테마 컬러
display
는 iOS safari apple-mobile-web-app-capable
같은 사용법을 할 수 있습니다.standalone
를 지정하면 Chrome에서 주소 표시 줄이 사라지고 네이티브처럼 표시됩니다.theme_color
를 지정하면 Android 상태 표시 줄의 색상이 변경됩니다.manifest 파일에 대한 자세한 내용은 여기 htps //w w. w3. 오 rg / TR / 아 p 마니 후 st /
manifest.json을 HTML에 추가
head 태그 안에 코드를 작성하십시오.
/index.html
<link rel="manifest" href="/manifest.json">
이 설정으로
apple-touch-icon
시스템이 manifest.json의 기술을 우선하게 됩니다.serviceWorker.js 만들기
/serviceWorker.js
self.addEventListener('fetch', function(event) {
});
비어 있고 OK
뭔가 fetch 이벤트를 쓰지 않으면 안 되었다고 합니다.
参考 (1): https://amymd.hatenablog.com/entry/2017/10/12/001612
参考 (2): https://stackoverflow.com/questions/44886248/add-to-home-screen-web-app-install-banner-not-showing-up-in-my-web-app-and-show
serviceWorker 등록
JS에 아래 코드를 붙여 넣습니다.
/index.html
<script>
window.addEventListener('load', function() {
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register("/serviceWorker.js")
.then(function(registration) {
console.log("serviceWorker registed.");
}).catch(function(error) {
console.warn("serviceWorker error.", error);
});
}
});
</script>
ServiceWorker에는 범위가 있으며 serviceWorker.js 위치에서 범위가 결정됩니다.
그래서 serviceWorker.js는 도메인 바로 아래에 배치하는 것이 편합니다.
확인 방법
조금 귀찮습니다만, 사이트를 1주일에 2회 표시했을 때에 표시된다고 하는 사양입니다.
따라서 첫 번째는 표시되지 않고 다른 세션에서 다시 액세스하면 홈 화면에 추가 버튼이 표시됩니다.
홈에 추가하면 이런 느낌
끝
Service Worker의 코드는 1문자도 쓰지 않았습니다만, 이제 Service Worker를 사용하기 시작할 준비가 되었습니다.
실제로 동작하고 있는 것을 보고 싶은 경우는 htps : //가 my. jp/ 로 구현하고 있으므로 Android로 액세스 해 보세요.
이런 좋은 일이지만, 이것을 브라우저 측에서 해주고 편해질 수 있다.
푸시 알림편도 썼습니다.
ぃ tp // 이 m / 나리 케이 / ms / 0f26b30d347 굳이 19d9559
Reference
이 문제에 관하여(「홈 화면에 추가」부터 시작하는 「PWA(Service Worker)」), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/narikei/items/4240f03542f29e313989텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)