Ich habe fieberhaft versucht, mich durch die letzte Etappe einer Website, die ich gerade baue, zu bewegen, und mir geht es nur noch um eine merkwürdige Eigenart mit Chrome. FF und IE scheinen gut zu funktionieren.
Ich benutze jQuery, um HTML Stubs zu laden und in diesem Fall eine Menge Inhalt von einem externen Blog, aber wenn ich von den wirklich langen Seiten zu den wirklich kurzen umschalte, bekomme ich ungefähr eine Meile unbenutzter Seite, die noch an die Ende des Dokuments.
Hier ist der Inhalt der Seite, auf der die Stubs geladen werden:
%Vor% Alle meine Ladevorgänge werden mit jQuery load()
ausgeführt, und ich habe eine Iteration der Site ausgeführt, auf der dieses Problem nicht aufgetreten ist. Ich bin zu einem 100% breiterem Stil übergegangen und dieses Problem tauchte dabei auf.
Meine Frage ist: Gibt es eine Möglichkeit, die Seite zu zwingen, ihre Größe erneut zu überprüfen, wenn sie zu einem anderen / kürzeren Inhalt wechselt?
Ich denke Ich habe eine Lösung gefunden. (Zumindest habe ich es in ein paar Minuten nicht gesehen). Im .ajax Callback, nachdem ich den Inhalt mit $('div').html(data);
eingestellt habe, verändere ich das gesamte Fenster mit $(window).resize();
Genau das gleiche Problem, auf das ich gestoßen bin, und die Antwort, auf die ich gekommen bin, ist nein.
Ich habe es nur geschafft, das zu beheben, indem ich die Höhe des neuen div mit dem neuen Inhalt nach AJAX lade und die korrekte Höhe mit jQuery festlege.
Es wäre wirklich gut, wenn jemand eine Möglichkeit finden würde, eine automatische Größenanpassung zu erzwingen, aber diese Lösung funktionierte perfekt, unabhängig von der Menge des Inhalts.
Ich konnte es nur mit der CSS beheben. das Problem war, dass ich mein Seitenumhüllungselement absolut positioniert hatte, so dass es effektiv außerhalb des Körperelements strömungsmäßig saß. Ich habe die Position entfernt: absolut; oben: 0; links: 0; und setze einfach einen Rahmen: 0; und Auffüllen: 0; auf dem Körperelement.
Es sollte ein reines CSS-Problem sein, ich habe jQuery nicht selbst für AJAX benutzt, aber wenn der Inhalt aufgerufen wird, benutzt du das?
%Vor%oder verwenden Sie jQuery
%Vor%Wenn Sie jQuery verwenden, sollten Sie zuerst das div aufräumen:
%Vor%Und wenn das nicht hilft, können Sie eine feste Höhe verwenden und eine Überlauf-CSS-Eigenschaft verwenden
%Vor%Natürlich ist eine feste Höhe nicht immer die beste Lösung, aber es könnte Ihnen helfen.
asyncBoolean
Standard: true
Standardmäßig werden alle Anforderungen asynchron gesendet (d. h. standardmäßig ist dies auf "true" gesetzt). Wenn Sie synchrone Anforderungen benötigen, setzen Sie diese Option auf false. Domänenübergreifende Anfragen und dataType: "jsonp" -Anfragen unterstützen keinen synchronen Vorgang. Beachten Sie, dass synchrone Anfragen den Browser vorübergehend sperren können, indem Sie alle Aktionen deaktivieren, während die Anfrage aktiv ist. "
Tags und Links javascript jquery css ajax google-chrome