Flash et Facebook… ou le mal de tête du mardi soir

Les développeurs web comme moi doivent déjà avoir entendu parler du fameux bug Flash wmode qui provoque quelques comportements étranges avec les claviers sous Windows pour les navigateurs utilisant les plugin compatible Netscape (Firefox, Safari, Chrome ou Opera). Pour résumer, lorsque vous remplissez les conditions requises, ce bug vous empêche de taper certains caractères tels que @ dans un champ de saisie Flash.

Si vous l’avez pas encore remarqué, une animation Flash insérée avec les réglages par défaut dans une page HTML se place au-dessus de tous les autres éléments, quel que soit son emplacement ou son niveau de profondeur (z-index). Il s’agit du mode window du paramètre wmode. Il est possible de demander à Flash de se comporter comme tout autre élément HTML d’une page en passant le paramètre wmode à opaque ou transparent. Malheureusement, sous Windows avec les navigateurs cités précédemment, certaines touches de nos claviers ne réagissent plus comme elles le devraient.

Je travaille actuellement sur un jeu en Flash pleine page et qui doit fonctionner en adéquation avec Facebook. Jusque là rien d’étonnant me direz-vous. Sauf que les boîtes de dialogue de Facebook sont générées grâce à des éléments HTML par une API javascript et ne sont donc pas immédiatement intégrées à Flash. Jusque là encore tout va bien. Pour que ces éléments soient visibles par dessus mon animation Flash (qui recouvre toute la page comme je l’ai dit), il faut passer l’animation en mode opaque. Et à partir de là, plus rien ne va… à moins d’utiliser Internet Explorer. Ou de passer un temps fou à se demander pourquoi Adobe ne prend pas le temps de corriger ce problème.

Quoi qu’il en soit, dans le cas qui me préoccupe, je n’ai pas de solution simple. Si ce n’est qu’avec Internet Explorer tout va bien. Le mode opaque de Flash permet aux éléments de Facebook de passer par-dessus et le navigateur ne présente pas de problème de clavier. Sous Firefox, par chance, les popups Facebook sont générées grâce à des iframe qui se superposent automatiquement à l’animation, il n’est donc plus nécessaire d’utiliser le mode opaque et le clavier reste cohérent. Reste à trouver une solution pour Safari, Chrome et Opera. Et là, … c’est pas gagné.

Heureusement que Flash permet de créer des applications web indépendantes de la plate-forme !

Advertisements

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s