• 28 février 2013De nouveaux boutons de formulaire.

    J'ai modifié la forme des boutons d'action des formulaires de contact et du livre d'or.
    Au passage, j'ai découvert la propriété css "outline" qui sert à signaler un focus sur un élément (c'était ça la bordure mystérieuse orange par défaut sur les input dans chrome), ainsi que l'intérêt d'utiliser "vertical-align:middle;" pour aligner les value des input (avec un vertical-align:baseline; tous les boutons sur une même ligne se ré-alignent automatiquement, lorsque l'on touche à un seul bouton).

  • 25-26 février 2013Nouvelle version du module de recherche

    Le première version de ce module permettait d'entrer une longueur précise de mot (en tapant un chiffre à la place d'une série de points). On gagnait du temps mais ça ignorait les chiffres contenus dans les listes de données.
    J'ai donc ajouté le caractère * pour gérer les longueurs quelconques (c'est moins précis mais ce n'est pas grave) et mis en place la prise en compte des chiffres.
    J'ai aussi supprimé la sélection automatique de texte, la gestion de la casse, les boutons radios et les boutons de choix de sous-catégories, et remplacé le tout par un seul champ de sélection. Ça a été un peu compliqué d'adapter sa gestion aux quatre navigateurs que j'utilise (IE8, Firefox, Chrome, Safari), car bizarrement le même code jQuery n'a pas le même effet sur tout le monde.
    M'enfin, maintenant ça fonctionne chez tout le monde, tout en étant valide chez W3C, et c'est tout ce qui compte !

  • 23-24 février 2013La page d'infos sur moi

    J'affectionne les fiches Marvel de mon enfance, donc je conserve la fiche similaire à mon sujet, du site amidaru.free.fr. Sauf que cette fois-ci, au lieu d'écrire en bleu sur le même bleu, je vais tenter de bloquer une copie directe des données.
    Il s'agit donc d'empêcher la sélection de texte, de bloquer sa copie, de contrer la sauvegarde du fichier complet, en modifiant le code source à la volée.
    Et ce n'est pas une mince affaire, car il faut conserver une navigation disons agréable.

    Il y a deux cas à considérer : l'utilisation des raccourcis clavier et l'usage de la souris (ou du stylet).
    Les touches du clavier à "contrer" sont le Ctrl+A (pour tout sélectionner), le Ctrl+C (pour copier la sélection), le Ctrl+P (pour imprimer la page), et le Ctrl+S (pour sauvegarder la page). Le texte voulu disparaît en appuyant sur la touche concernée et ré-apparaît au relâchement de cette dernière. Suivant la vitesse de réaction des navigateurs, ça donne des résultats, à peu près similaires.
    Ensuite, concernant le clic droit, il ne s'agit pas de le supprimer, car je sais comme ça peut être énervant. Et vu que le passage sur le menu contextuel est considéré comme une "sortie" de document, je m'en suis servi comme critère pour distinguer les cas à gérer.
    En effet, lorsque l'on choisit une action du menu (contextuel ou de la barre d'en haut), on ne se trouve plus sur la page, donc je fais disparaître les mots choisis à ce moment-là, et je les fais ré-apparaître lorsque l'on revient sur celle-ci.
    Problème : l'ascenseur de Chrome est aussi considéré comme une sortie de page, donc on ne peut plus s'en servir (dès que l'on est dessus la page se réduit et l'ascenseur disparaît en conséquence).
    Il a donc fallu jongler entre les hauteurs de page, de fenêtre, de défilement du scrolling, et de la position de curseur pour arriver à automatiser une descente de page en douceur, sans clic sur l'ascenseur (au passage, j'ai découvert que les arrondis par Bitwise étaient considérablement plus rapides, tous navigateurs confondus, que les habituels Math.ceil, Math.floor, Math.round, parseInt, round, floor, et autres tilde).
    Enfin, je n'ai pas oublié d'empêcher l'accès direct à la page de données externe, par .htaccess, inutile de créer une table de base de données pour ça.

  • 18-22 février 2013Mise à jour du formulaire de contact avec jQuery.validate.

    Ah la la ! J'ai encore bien galéré, cette fois-ci pour convertir le formulaire (écrit en php / javascript) en php / Ajax / jQuery. Pourtant il suffisait simplement de recopier puis adapter / compléter le livre d'or.
    En plus, j'ai tout testé sous Firefox et sous Chrome, et même tout validé sur validator.w3.org (au passage, j'ai dû modifier le code source du menu, en remplaçant les attributs rel personnalisés par des attributs data personnalisés HTML5 pour passer le test avec succès).
    Mais alors où est le problème ??? Internet Explorer 8, encore et toujours, plante carrément au niveau du plugin jquery officiel de googleapis, avec une "Demande d'accès à la méthode ou aux propriétés inattendue".
    J'ai longtemps tâtonné avant d'identifier la cause du bug, d'autant plus que la ligne (parfaitement valide) qui posait problème, est toujours présente dans le code du livre d'or, qui lui ne pose aucun problème ! C'en est à s'arracher les cheveux !

ajax loader gif

 

Last update : Sunday, march, 24th 2013 Design by Minh-Dung DO