Сайт с прогрессивным веб-приложением не может быть установлен: значок не отображается
Я создаю прогрессивное веб-приложение. Я начал с шаблона из приложения create-реагировать. Затем я добавил манифест веб-приложения.
приложение / государственный /manifest.json
{
"short_name": "First Contributions",
"name": "First Contributions",
"icons": [
{
"src": "/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/android-chrome-256x256.png",
"sizes": "256x256",
"type": "image/png"
}
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
"display": "standalone",
"start_url": "index.html"
}
Связано это с index.html
Приложение / государственный /index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
<link rel="manifest" href="%PUBLIC_URL%/manifest.json">
<title>First Contributions</title>
</head>
<body>
<div id="root"></div>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('service-worker.js').catch(function(ex) {
console.warn(ex);
console.warn('(This warning can be safely ignored outside of the production build.)');
});
}
</script>
</body>
</html>
Я создал иконки, используя realfavicongenerator.net
и поместите их в публичный каталог.
Я развертываю свое приложение, используя gh-pages
, Когда я пытаюсь Add to homescreen
Я получаю следующие ошибки
- android-chrome-192x192.png: 1 GET https://roshanjossey.github.io/android-chrome-192x192.png 404 (не найден)
- Ошибка при попытке использовать следующий значок из манифеста: https://roshanjossey.github.io/android-chrome-192x192.png (ошибка загрузки или ресурс не является допустимым изображением)
- Сайт не может быть установлен: значок не отображается
Я думаю, что я делаю что-то не так в веб-манифесте для иконок.
1 ответ
Решение
Ваши пути значков ссылаются на корневой каталог.
+ Изменить "src": "/android-chrome-192x192.png",
в "src": "android-chrome-192x192.png",
(без /
в начале).