Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Сам оф. сайт osclass.org тоже не работает, или только у меня?mirror.osc4u.com/forums.osclass.org/index.html копия форума и это уже лучше чем ничего
все уже забудь osclass.orgСам оф. сайт osclass.org тоже не работает, или только у меня?
Вчера сделал по инструкции, вроде работает всё. Спасибо большое !Решил поделиться как я настроил PWA и заодно узнать, может кто то работал над этим и может поделиться своим способом реализации.
Сначала в двух словах что такое PWA, это альтернатива мобильному приложению. Если ваш сайт адаптирован под мобильный девайс, то можете доработать свой сайт и пользователь сможет добавить себе на главный экран мобилы (иконку), и получится что то типа приложения. Посмотреть можете на этом сайте Для просмотра ссылки Войдиили Зарегистрируйся, заходите на любую страницу, кроме главной (не понимаю пока почему на ней не получается вывести) с мобильного устройства (браузер Chrome), и видите как сайт предлагает вам во всплывающем окне разместить этот сайт на вашем устройстве.
Плюс такого решения, что на ваш телефон ничего не устанавливается, как при установке приложения, то есть не используется ваша память, не нужно давать доступ, короче безопасно для пользователя, но способ на мой взгляд не плохой (можно так же настроить push сообщения, но я пока не дошел до этого). Опять же не нужно платить за это, разрабатывать приложение. Есть минусы, например, можно установить только из браузера Chrome (вроде, так пишут, другие не тестил пока), еще минусы людей подсадили на приложения, и люди пока не понимают что это, хотя это безопасней, но думаю тут вопрос к спецслужбам и тд)). Ну приступим:
в любом js файле который у вас подключен на всех страницах сайта прописываем такой код:
PHP:document.addEventListener('DOMContentLoaded',()=>{const $navbarBurgers=Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'),0);if($navbarBurgers.length>0){$navbarBurgers.forEach(el=>{el.addEventListener('click',()=>{const target=el.dataset.target;const $target=document.getElementById(target);el.classList.toggle('is-active');$target.classList.toggle('is-active')})})}}); if(navigator.serviceWorker.controller){console.log('[PWA Builder] active service worker found, no need to register')}else{navigator.serviceWorker.register('sw.js',{scope:'./'}).then(function(reg){console.log('Service worker has been registered for scope:'+reg.scope)})}
Далее создадим в корне сайта файлы: sw.js и manifest.json
содержимое:
sw.js
Здесь ничего вроде трогать не надо.PHP:self.addEventListener('install', function(event) { var indexPage = new Request('/'); event.waitUntil( fetch(indexPage).then(function(response) { return caches.open('pwabuilder-offline').then(function(cache) { console.log("[PWA Builder] Cached index page during Install" + response.url); return cache.put(indexPage, response); }); })); }); self.addEventListener('fetch', function(event) { event.respondWith( fetch(event.request).catch(function(error) { console.log("[PWA Builder] Network request Failed. Serving content from cache:" + error ); return caches.open('pwabuilder-offline').then(function (cache) { return cache.match(event.request).then(function (matching) { var report = !matching || matching.status == 404?Promise.reject('no-match'): matching; return report }); }); }) ); })
manifest.json
PHP:{ "name": "Карта Владимира и Владимирской области", "short_name": "Карта 33", "description": "Информационная карта Владимирской области. Для туризма, походов, рыбалки, активного отдыха.", "icons": [{ "src": "oc-content/themes/one/images/logo/logoPr48x48.png", "sizes": "48x48", "type": "image/png" }, { "src": "oc-content/themes/one/images/logo/logoPr72x72.png", "sizes": "72x72", "type": "image/png" }, { "src": "oc-content/themes/one/images/logo/logoPr96x96.png", "sizes": "96x96", "type": "image/png" }, { "src": "oc-content/themes/one/images/logo/logoPr144x144.png", "sizes": "144x144", "type": "image/png" }, { "src": "oc-content/themes/one/images/logo/logoPr168x168.png", "sizes": "168x168", "type": "image/png" }, { "src": "oc-content/themes/one/images/logo/logoPr192x192.png", "sizes": "192x192", "type": "image/png" }, { "src": "oc-content/themes/one/images/logo/logoPr512x512.png", "sizes": "512x512", "type": "image/png" }], "start_url": "./", "orientation" : "any", "display": "standalone", "background_color": "#0eaaaf", "theme_color": "#43b6ac" }
Тут нужно создать свой манифест, по образу этого, создать манифест можно тут Для просмотра ссылки Войдиили Зарегистрируйся и Для просмотра ссылки Войдиили Зарегистрируйся
И подключаем manifest.json, в head.php, например так
<!-- manifest -->
<link rel="manifest" href="manifest.json">
Теперь о проверки, используем этот ресурс Для просмотра ссылки Войдиили Зарегистрируйся, там кстати можно посмотреть другие варианты использования PWA.
и еще вариант проверки, если все правильно подключено, то на своем сайте нажав ctrl+shift+I, во вкладке application
в меню Service Workers должна гореть зеленая лампочка, а в меню Manifest должен быть ваш манифест, с картинками, цветами и тд. Ну и конечно при заходе на сайт через мобилу должно быть всплывающее окно, скажу еще, если вы установите на мобилу иконку, то предлагать больше не будет, для появления всплывающего окна заново, нужно удалить ярлык с главного экрана.
ВСЕ!!!