Hintergrundbild mit fester Position verhindern: Größe des Covers in mobilen Browsern kann nicht geändert werden, wenn die Adressleiste ausgeblendet wird

Entschuldigen Sie den Mangel an Beispielen, aber ich denke, es ist leicht zu verstehen.

Ich habe einen festen Hintergrund auf meiner Website, der derzeit folgendermaßen implementiert ist:

#background {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #28305e;
    background-image: url(../images/background.jpg);
    background-size: cover;
    -moz-background-size: cover;
    background-position: center center;
    z-index: -10;
}

<div id="background"></div>

Dies ist in allen Browsern bis jetzt großartig, außer in mobilen Browsern, in denen die Adressleiste beim Scrollen nach unten ausgeblendet wird. Wenn die Adressleiste ausgeblendet ist, wird das Ansichtsfenster vertikal vergrößert, und die Größe des Hintergrundbilds ändert sich sprunghaft. Auf dieser speziellen Site wird der Benutzer häufig einen Bildlauf nach oben und unten durchführen, und der Effekt lenkt ab.

Irgendwelche Ideen oder Strategien, um dies zu umgehen oder den Hintergrund auf eine andere Art und Weise umzusetzen?

Ich könnte das Ganze in einen festen Container einwickeln und den Überlauf-y auf Scrollen setzen, wodurch verhindert wird, dass die Adressleiste jemals ausgeblendet wird, aber ich würde es vorziehen, dies nicht zu tun (Google Glass kann nicht durch diese Container scrollen, haha ... möchte dort auch eine Demo machen).

Ich habe versucht, mir etwas auszudenken, das ein Hintergrundbild bietet: Cover-Funktionalität mit einer Art Puffer, so dass es größer als das Ansichtsfenster gerendert wird und nicht erneut gerendert wird, es sei denn, das Ansichtsfenster ist über diesen Puffer hinaus erweitert, aber ich bin mir nicht sicher, wie ich das umsetzen soll.

BEARBEITEN: Ich habe dies tatsächlich implementiert und den Prozess in einer Antwort unten detailliert beschrieben. Selbst bei dieser Puffereinrichtung (bei der die Höhe des Hintergrundbilds um mehr als 60 Pixel über der Höhe des Ansichtsfensters liegt) wird beim Ausblenden der Adressleiste immer noch ein leeres Hintergrundfarbsegment angezeigt, das angezeigt wird Wenn Sie aufhören zu scrollen, wird der Rest des Hintergrundbilds gerendert.

Wir sind noch auf der Suche nach einer Möglichkeit, die native Funktion zum Ausblenden der Adressleiste beizubehalten (die jetzt in iOS 8 für iOS Safari auf dem iPad erweitert wurde) und ein Hintergrundbild im Vollbildmodus zu erhalten, das auch dann vollständig gerendert wird, wenn sich die Höhe des Ansichtsfensters beim Ausblenden der Adresse ändert Bar. Ich frage mich, ob ich nur Fehlerberichte für alle Browser einreichen soll ...

Antworten auf die Frage(5)

Ihre Antwort auf die Frage