IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Réglage de fer à gauche


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3
    Par défaut Réglage de fer à gauche
    Bonjour le forum !

    j'ai mené quelques recherches pour mettre en place une fonction qui me semble utile : le réglage de fer à gauche.

    explication : designer graphique de profession, je fais toujours attention à ne pas laisser de petit mots à la fin des lignes, cela est disgracieux, donc pas de pronom ou autre conjonction de coordination au bout du bloc. Pour remédier à cela nous avons les espaces insécables (   ) qui permettent de dire que deux mots sont liés, exemple dans le bout de phrase suivant :

    "Le Trône de Fer"
    pour éviter que le "Fer" passe à la ligne seul, on met un insécable entre le "de" et le "Fer".

    Je souhaite automatiser cela via un script JS dont voici le schéma :

    Dans toute la page :
    rechercher "(espace)et(espace)" -> remplacer par "(espace)et(espace-insécable)"
    rechercher "(espace)de(espace)" -> remplacer par "(espace)de(espace-insécable)"
    rechercher "(espace)or(espace)" -> remplacer par "(espace)or(espace-insécable)"
    rechercher "(espace)le(espace)" -> remplacer par "(espace)le(espace-insécable)"



    -----------------------------------------------------------
    J'ai de maigre compétence en JS, j'ai tenté un début de script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $(document).ready(function() {
    var value = document.documentElement.innerHTML;
    value = value.replace(/ et /g, ' et ');
     
    document.documentElement.innerHTML = value;
    });
    -----------------------------------------------------------

    Merci à la communauté de me porter secours ! (Oui il est un peu tard, mais faire semblant de programmer un site à 02:30 avec une tisane et de la bonne musique, c'est le top)

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3
    Par défaut
    … je laisse le post, mais le code fonctionne ! je l'ai corrigé un poil mais voilà
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $(document).ready(function() {
    	var value = document.documentElement.innerHTML;
    value = value.replace(/ du /g, ' du ');
    value = value.replace(/ et /g, ' et ');
      document.documentElement.innerHTML = value;
    });

    très simple… sauf pour un néophyte comme moi !
    je verrai à établir toute les règles et à redistribuer le .js pour les intéressés,
    SI quelqu'un voit comment optimiser le code, je suis preneur ! Merci à vous !

  3. #3
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    bonjour.

    Visiblement tu n'est pas habitué au forum.
    le script JQuery sont à poster dans le forum Jquery.
    Si tu pense que ta proposition peut être largement partagée le forum Contribuez est fait pour toi.

    enfin dans l'éditeur lorsque tu Poste il y a un petit bouton "#" celui-ci permet d'insérer du code dans ton post.

    pour les forums javascript (Jquery, Dojo, Ext...) ne pas mettre les balise <script ..> dans ton code javascript. si tu poste du html pense à ahouter [code=html] ainsi ton code sera lisible.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $(document).ready(function() {
     var value = document.documentElement.innerHTML;
     value = value.replace(/ du /g, ' du&nbsp;');
     value = value.replace(/ et /g, ' et&nbsp;'); 
     document.documentElement.innerHTML = value;
    });
    ex de code HTML

    enfin sur le font cette fonction est une catastrophe.
    tu envoie un code source html à ton client.
    celui-ci charge le code source et l'interprète
    il créer un DOM complet.

    lorsque tout est enfin créé
    il sérialise le DOM (documentElement.innerHTML)
    le dom sérialisé est traité par ta fonction
    qui produit un nouveau code source

    qui est placé dans le document
    Le DOM est détruit entièerement
    ce source est interprété
    un nouveau DOM est crée

    si d'autres élément dans la page ont été traité par javascript par exemple ajout d'un événement.
    l'objet sur lequel il a été ajouté n'existe plus. car tu as supprimé le DOM.

    Je sais que JQuery permet en deux ligne apparement de traiter l'ensemble d'une page. mais il ne faut pas perdre du vu que modiffier innerHTML d'un élément revient à supprimer touts les objets créee dans celui-ci et de les remplacer par de nouveaux.
    A+JYT

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3
    Par défaut
    Oui effectivement, je n'ai ni les 5 étoiles ni tout tes achievements (félicitation)
    Désolé pour mon amateurisme, je suis habitué au forum dans la mesure ou j'y passe régulièrement pour faire des recherches. Mais je n'ai jamais eu besoin de publier et j'ai cumulé les erreurs, l'horaire de la publication n'a d'ailleurs rien arrangé.

    Pour revenir à la fonction, effectivement quand je l'ai installé, elle a flingué l'intégralité de mes autres fonctions, mais il m'a suffit de la placer en tête de toute les autres fonctions pour résoudre le problème. Si tu as une solutions alternative à cette bidouille, je suis très preneur. Merci à toi.


    ----------------------
    edit : Dites moi si je me trompe mais j'ai choisi se forum car il me semble bien avoir utilisé le langage javascript, sans utiliser la bibliothèque jquery ? (oui vous l'aurez compris, je débute )

  5. #5
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    oui appliquer ce traitement uniquement aux contenu textuel des éléments qui en ont besoin.

    A+JYT

Discussions similaires

  1. Clic droit/gauche souris
    Par Mouse! dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 30/05/2013, 20h34
  2. Comment détecter un changement du réglage de voume sonore ?
    Par mjlub dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 09/01/2004, 17h43
  3. 2 Count() sur deux tables en jointures gauches
    Par Alexandre T dans le forum Langage SQL
    Réponses: 2
    Dernier message: 03/09/2003, 16h53
  4. Popup avec un clic gauche
    Par Jéremy A dans le forum Composants VCL
    Réponses: 7
    Dernier message: 27/02/2003, 22h15
  5. gérer le clic gauche-droite en même temps de la sou
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 29/11/2002, 22h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo