Redessiner une fenêtre lorsque l’utilisateur la déplace

Ce serait bien de redessiner une fenêtre lorsque l’utilisateur déplace les bords, pour pas qu’on ne voie le fond de la page, sans contenu.

J’ai donc mis du Javascript pour ce faire, mais un problème est survenu :

Lorsque l’utilisateur zoome la page, cela déclenche un évènement onresize et la page est redessinée, ce qui annule le fait de zoomer.

Il n’est plus possible alors de zoomer la fenêtre.

La solution

On enregistre le ratio de largeur/hauteur lorsque la page est chargée.

Quand un évènement resize est déclaré, on vérifie si le ratio a changé.

Si le ratio a changé, c’est que l’utilisateur a bougé les bords de la fenêtre et on la redessine.

Si le ratio reste inchangé, c’est que l’utilisateur a zoomé la page, et on ne la redessine pas.

NOTE : il ne faut pas redessiner une fenêtre sur la version mobile parce que Safari, en enlevant la barre d’adresse, modifie le format de la fenêtre. Le résultat est un cycle de chargements de page à l’infini.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *