1486 sujets

Web Mobile et responsive web design

Bonjour à tout le monde !

J'essaie d'adapter un petit jeu de lettres aux portables, en PWA précisément : en gros, on "clique" sur des cases marquées d'une lettre pour essayer de former des mots. Tout fonctionne comme prévu sauf que... parfois, lorsqu'on lance le programme, on a beau appuyer sur les boutons, rien ne se passe. Il faut fermer et relancer le jeu, parfois deux ou trois fois, avant que l'écran ne réagisse normalement aux clics.

Je ne sais pas si c'est une erreur de programmation en javascript, un défaut de mon appareil ou autre chose. Quelqu'un a-t-il eu ce genre de mésaventure ?

Pour ceux qui veulent tester, c'est (c'est en breton)

Merci de votre attention,
Kristen
Modifié par kristen (24 Jan 2019 - 14:26)
Modérateur
En breton, le code et les commentaires, sérieusement?

Mes yeux saignent devant ce code fait pour que personne ne puisse t'aider (sauf les bretons). Smiley smile
Modérateur
Bonjour,

Rien à voir avec un problème d'écran tactile. Ça le fait aussi avec une machine de bureau et une souris.

Probablement des erreurs de javascript. Faut probablement tout refaire Smiley cligne

Note : ça a l'air de mieux marcher si on relance la page en appuyant sur la touche shift. Mais même là, y a des trucs louches.

Amicalement,
parsimonhi a écrit :

Rien à voir avec un problème d'écran tactile. Ça le fait aussi avec une machine de bureau et une souris.

Ouah, t'es sur ? J'ai testé sur pas mal de pcs de bureau et ça a toujours marché correctement. J'aurais sans doute dû préciser qu'il faut cliquer sur une lettre, puis sur une autre adjacente comme dans l'image jointe. Ca ne fonctionne pas chez toi ?
parsimonhi a écrit :

Probablement des erreurs de javascript. Faut probablement tout refaire Smiley cligne

Amis cardiaques, bonjour....
Le code javascript est du style :
$('#cellule p').click(function()...)


Encore une fois, ça marche généralement bien sur mon portable (un nokia sous android go) et puis d'autres fois, je dois relancer le jeu une, deux ou trois fois pour que les 'touches' répondent.. Je me disais que peut-être quelqu'un avait eu un problème similaire..
Modérateur
kristen a écrit :

Ouah, t'es sur ? J'ai testé sur pas mal de pcs de bureau et ça a toujours marché correctement. J'aurais sans doute dû préciser qu'il faut cliquer sur une lettre, puis sur une autre adjacente comme dans l'image jointe. Ca ne fonctionne pas chez toi ?

Oui, je suis sûr : je clique sur une lettre et y a rien qui s'ajoute dans la "boite" qui est en dessous des boutons lettres.

Mais ce n'est pas à chaque fois. Et ça a l'air de dépendre de l'historique aussi. Donc selon moi, erreur de gestion des lettres interdites ou un truc du même genre dans le javascript.

kristen a écrit :

Amis cardiaques, bonjour....
Le code javascript est du style :
$('#cellule p').click(function()...)

J'aime bien faire peur et dire que tout est à jeter ! Smiley cligne

Le clic semble bien pris en compte (y a un effet sur le bouton qui se produit). C'est selon moi le code qu'il y a après qui déraille. Mais bon, je n'ai absolument pas regardé ce code.

Faut-il que je m'implique ?

Amicalement,
Modérateur
Bonjour,

C'est quoi la règle de ce jeu ?

Il semble que quand on clique sur une lettre, on active les lettres voisines mais pas les autres.

Il semble par ailleurs que des lettres sont désactivées au passage, mais je n'ai pas encore trouvé la logique du truc, surtout que ça semble ne pas marcher pareil sur tous les navigateurs.

EDIT: finalement, si, ça désactive toutes les autres lettres sur lesquels on n'a pas encore cliqué.

Amicalement,
Modifié par parsimonhi (26 Jan 2019 - 15:16)
parsimonhi a écrit :
Bonjour,

C'est quoi la règle de ce jeu ?

Il semble que quand on clique sur une lettre, on active les lettres voisines mais pas les autres.

Il semble par ailleurs que des lettres sont désactivées au passage, mais je n'ai pas encore trouvé la logique du truc, surtout que ça semble ne pas marcher pareil sur tous les navigateurs.

EDIT: finalement, si, ça désactive toutes les autres lettres sur lesquels on n'a pas encore cliqué.

Amicalement,


je voudrais que le texte monDOCuniquePREMS se place au milieu du bloc...
Modifié par Rodolphe (11 Oct 2019 - 17:45)
Bon, la règle du jeu :
1 - on clique sur une lettre, n'importe laquelle, au départ
2 - on doit ensuite cliquer sur une lettre dans une case adjacente (dans les huit directions)
3 - comme en 2, on clique sur une case adjacente, sauf qu'on ne peut réutiliser une case déjà cliquée.

Le but, c'est de former des mots de trois lettres minimum à huit lettres maximum.
Lorsqu'on pense avoir trouvé un mot, on clique sur "KAS" (envoi) et si il est présent dans la liste intégrée, la barre de progression avance d'une unité (elle indique aussi le nombre de mots total à trouver). Si on abandonne avant la victoire, une page affiche les mots qu'il restait à trouver.
upload/1548524212-14592-screenshot.png
Modérateur
Bonjour,

J'ai parfois aucune lettre active au début.

Faut vraiment insister et recharger la page plusieurs fois. Safari Mac OS (machine de bureau) semble reproduire le problème plus les autres. Mais je l'ai aussi constaté avec Chrome Mac OS (machine de bureau aussi).

Si je recharge la page en appuyant sur shift en même temps, ça semble marcher à tous les coups.

Sinon, après, ça va (une fois qu'on a compris la règle Smiley cligne , ce que j'ai eu du mal à faire avec mes 2 neurones).

Je commence à chercher dans le code ce qui peut faire planter. Peut-être une ressource qui est chargée de manière asynchrone, et qui du coup est parfois disponible, parfois non.

Mais c'est peut-être tout autre chose.

Amicalement,
Apparemment tu es sous Apple et du coup, je me demande si ce n'est pas mon service worker qui fait grève de temps en temps. Il me semble en effet me souvenir avoir lu que les PWA ne marchaient pas exactement pareil que sous Android...
De plus c'est la première fois que j'utilise cette technologie et je marche un peu sur des oeufs...
Mais bon, normalement le fichier javascript est bien chargé en mémoire et du coup, je ne vois pas pourquoi un coup ça marche et un coup ça marche pas...
Modérateur
Bonjour,

J'ai viré le sweetalert.min.js, le sweetalert.css, et le code commençant par if ('serviceWorker' in navigator) { ...

J'ai viré aussi le async sur la ligne qui charge jQuery.

Ça semble fonctionner mieux. Fais le tri ! Il est en effet possible que le problème vienne de ton service worker.

Amicalement,
Modérateur
Bonjour,

J'ai fait un autre test en gardant tout d'origine et en supprimant juste les deux async sur les lignes qui charge du js dans index.html.

Ça semble suffire (mais bon, à tester, parce que là, on marche sur des oeufs).

Amicalement,
parsimonhi a écrit :
J'ai viré aussi le async sur la ligne qui charge jQuery.


Héhéhé, je crois que tu as mis le doigt sur quelque chose... Je ne me rappelle plus pourquoi j'ai rajouté ces attributs async. Très vraisemblablement pour complaire aux conseils d'optimisation de Lighthouse (debugger PWA).

Je pense que les soucis venaient de là. En tout cas, je ne vois rien d'autre...
Donc pour l'instant : résolu.

Merci infiniment parsimonhi.
Cordialement
Modifié par kristen (26 Jan 2019 - 20:40)
Meilleure solution
a écrit :

J'ai viré le sweetalert.min.js, le sweetalert.css, et le code commençant par if ('serviceWorker' in navigator) { ...

J'ai viré aussi le async sur la ligne qui charge jQuery.

Ça semble fonctionner mieux. Fais le tri ! Il est en effet possible que le problème vienne de ton service worker.


Bonjour,

J'ai eu des problèmes avec la syntaxe SweetAlert. J'ai essayé d'ajouter un bouton au code HTML et de déclencher un événement onclick à l'aide de queryselectors standard.


https://stackoverflow.com/questions/32986381/sweet-alert-syntax
https://domyhomeworkonline.net/do-my-trigonometry-homework.php
Modifié par SvenTaow (05 Nov 2019 - 07:58)