Альтернативный вариант фоновых изображений на заставках. (без хаков) Это не простое и элегантное решение, но опять же, прогрессивные веб-приложения тоже не являются таковыми.
Вы можете просто позволить загрузке вашего экрана-заставки, а затем, когда ваш URL-адрес наконец загрузится, вы можете использовать Javascript для запуска события, которое стилизует ваш собственный «фиктивный» экран-заставку до того, как загрузится остальная часть вашего документа. Хотя для конечного пользователя это может показаться «хакерским», на самом деле это всего лишь обходной путь, который никак не влияет на работу манифеста. Если вы пойдете по этому пути, я предлагаю использовать медиа-запросы для проверки наличия display-mode
. Таким образом, ваш CSS будет знать, когда ваше приложение находится в определенном режиме, и тогда вы сможете соответствующим образом стилизовать его.
Ваш CSS styles.css
:
/* the wrapper will be visible later after the document loads */
#wrapper { display:none; }
/*
Using a media query to test for the display-mode of your application
*/
@media all and (display-mode: fullscreen) {
body {
margin: 0;
border: 5px solid black;
}
}
#splash_screen {
/* all your splash screen styles */
}
Убедитесь, что вы объявили режим отображения в своем манифесте:
"дисплей": "автономный"
Ваш HTML;
<html>
<head>
<link rel="stylesheet" type="text/css" href="styles.css">
<script type="text/javascript">
/* with setTimeout you have control over how long the
splash screen sticks because the document will load first. */
setTimeout( function() {
var wrapper= document.getElementById("wrapper") ;
var splash_screen = document.getElementById("splash_screen") ;
document.body.removeChild(splash_screen) ;
wrapper.style.display = "initial" ;
} , 2000 ) ;
</script>
</head>
<body>
<div id="splash_screen"></div>
<div id="wrapper">
/* the rest of your content */
</div>
</body>
</html>
Документация MDN по режиму отображения CSS . Документация MDN в отображении манифеста.
Я пытался найти способ самостоятельно использовать фоновые изображения на экранах-заставках, и именно так я оказался здесь. В своем стремлении я придумал фиктивную заставку. Имейте в виду, я не тестировал этот код.
person
Xavier
schedule
10.09.2019