$ (window) .resize () in safari: warum funktioniert es auch wenn scroll window (aber nicht skalieren)?

8

Ich bemerkte, mit Safari auf meinem iphone5 das

%Vor%

es funktioniert seltsam ...

Ich habe diesen Code:

%Vor%

Dieser Code sollte nur funktionieren, wenn sich die Fenstergröße ändert .... Mit anderen Browsern funktioniert das sehr gut, aber mit Safari funktioniert der Code auch wenn ich die Seite scrollte (und die Größe des Fensters ändert sich nicht) ...

WIE IST MÖGLICH? O.o

    
Mapsism Borja 29.04.2015, 10:13
quelle

3 Antworten

14

Dies ist ein bekannter Fehler, der bei iOS6 Safari aufgetreten ist. Das Ereignis zum Ändern der Größe wird beim Scrollen zufällig ausgelöst. Zum Glück ist es kein jQuery-Problem.

Diese Antwort könnte zu einem ähnlichen Problem führen löse dein Problem auch.

Für die faulen:

3Stripe hat geschrieben, dass Sie "Speichern Sie die Fensterbreite und überprüfen Sie, ob sie sich tatsächlich geändert hat, bevor Sie fortfahren Ihre $ (window) .resize-Funktion "

Sein Codeausschnitt:

%Vor%     
Rizky Fakkel 29.04.2015, 10:24
quelle
4

Wie Sie sehen, ist die Adressleiste in iphone / ipad und Android-Geräten klein, wenn Sie die Seite nach unten scrollen, und wenn die obere Adressleistengröße zur tatsächlichen Größe zurückkehrt, löst diese Operation das Ereignis window.resize aus

    
Mohammad Rezaei 10.02.2016 08:38
quelle
0

Dieses Problem, das für ios spezifisch ist, wenn irgendein Handler, der die Größe von irgendetwas im Fenster ändert, ein resize-Ereignis auslöst, und manchmal wird es in infinite resize call hängen bleiben. Wie oben erwähnt, haben Sie eine Bedingung, die previous width mit current width vergleicht, wenn beide gleich sind und dann zurückkehren.

    
Malav 09.12.2016 01:37
quelle