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

JavaScript Discussion :

Texte personnalisé en fonction des paramètres d'URL ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Novembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2014
    Messages : 8
    Par défaut Texte personnalisé en fonction des paramètres d'URL ?
    bonjour à tous,
    je ne sais pas développer, mais j'ai quelques notions basiques, alors merci de votre indulgence pour mon premier message

    ce que je voudrais faire est simple, mais assez cool :

    j'ai trouvé ce code ici pour remplacer du texte HTML avec du javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <h1 id="header">Georges</h1>
            <script>
              var element = document.getElementById("header");
              element.innerHTML = "Adrien";
            </script>
    A la place du element.innerHTML = "Adrien", j'aimerais définir une variable "nom", que l'URL contienne la valeur, je ne sais pas si je suis clair...
    ...autrement dit, j'aimerais que le texte du H1 soit remplacé par une valeur contenue dans une variable "nom" présente dans l'URL, par exemple http://www.mondomaine.com/?nom=Adrien

    Est ce que c'est possible avec Javascript, comment modifier le code svp ?

    ca m'aiderait beaucoup !

    Adrien

  2. #2
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Voilà une petite fonction pour récupérer un paramètre d'URL:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function getURLParameter(name) {    name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
        var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
            results = regex.exec(location.search);
        return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
    }
    Pour l'utiliser ensuite, c'est très simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    element.innerHTML = getURLParameter("nom");

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Novembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2014
    Messages : 8
    Par défaut
    mais...c'est génial !

    merci infiniment Sylvain.


    je n'aurais jamais cru trouver si vite la solution grâce à ce forum

    bon week end !
    Adrien

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    @SylvainPV : a mettre en complément dans la FAQ.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Novembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2014
    Messages : 8
    Par défaut
    Bonjour à tous,

    un petit complément suite à l'utilisation de cette fonction. Ca fonctionne très bien, mais avec un paragraphe entier dans la variable (attention juste aux caractères spéciaux, certains ne passent pas le caractère '%').

    Le scénario pour lequel j'utilise la fonction est celui-là :

    - je fournis un lien vers une page A à un utilisateur. Le lien contient des variables, et la page insèrera ces variables dans le contenu, grâce à la super fonction de SylvainPV.

    Maintenant, si l'utilisateur navigue et clique sur une page B, les variables ne sont malheureusement pas "emmenées avec" et donc, plus moyen d'avoir un contenu personnalisé...

    Sauriez-vous s'il y a un moyen de faire cela ?

    J'ai très peu de liens internes car le site ne fait que 4 pages, peut-etre en insérant les variables dans l'attibut href des liens ??

    Merci encore, c'est déjà super comme cela.
    Adrien

  6. #6
    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
    Une version plus évoluée
    utilisée par ExtJS elle reste aisément compréhensible pour s'en inspirer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    function getFromQueryString (queryString, recursive) {
            var parts = queryString.replace(/^\?/, '').split('&'),
                object = {},
                temp, components, name, value, i, ln,
                part, j, subLn, matchedKeys, matchedName,
                keys, key, nextKey;
     
            for (i = 0, ln = parts.length; i < ln; i++) {
                part = parts[i];
     
                if (part.length > 0) {
                    components = part.split('=');
                    name = decodeURIComponent(components[0]);
                    value = (components[1] !== undefined) ? decodeURIComponent(components[1]) : '';
     
                    if (!recursive) {
                        if (object.hasOwnProperty(name)) {
                            if (!Ext.isArray(object[name])) {
                                object[name] = [object[name]];
                            }
     
                            object[name].push(value);
                        }
                        else {
                            object[name] = value;
                        }
                    }
                    else {
                        matchedKeys = name.match(/(\[):?([^\]]*)\]/g);
                        matchedName = name.match(/^([^\[]+)/);
     
                        //<debug error>
                        if (!matchedName) {
                            throw new Error('[getFromQueryString] Malformed query string given, failed parsing name from "' + part + '"');
                        }
                        //</debug>
     
                        name = matchedName[0];
                        keys = [];
     
                        if (matchedKeys === null) {
                            object[name] = value;
                            continue;
                        }
     
                        for (j = 0, subLn = matchedKeys.length; j < subLn; j++) {
                            key = matchedKeys[j];
                            key = (key.length === 2) ? '' : key.substring(1, key.length - 1);
                            keys.push(key);
                        }
     
                        keys.unshift(name);
     
                        temp = object;
     
                        for (j = 0, subLn = keys.length; j < subLn; j++) {
                            key = keys[j];
     
                            if (j === subLn - 1) {
                                if (Ext.isArray(temp) && key === '') {
                                    temp.push(value);
                                }
                                else {
                                    temp[key] = value;
                                }
                            }
                            else {
                                if (temp[key] === undefined || typeof temp[key] === 'string') {
                                    nextKey = keys[j+1];
     
                                    temp[key] = (Ext.isNumeric(nextKey) || nextKey === '') ? [] : {};
                                }
     
                                temp = temp[key];
                            }
                        }
                    }
                }
            }
     
            return object;
        }
    A+JYT

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 02/02/2009, 16h45
  2. Envoyer des paramètres à une url
    Par joKED dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 08/03/2007, 12h22
  3. Query.SQL.Text avec la valeur des paramètres
    Par Guile dans le forum Bases de données
    Réponses: 3
    Dernier message: 04/02/2007, 11h13
  4. Recherche des enregistrements en fonction des paramètres
    Par infoctet dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/01/2007, 09h51
  5. Passer des paramètres à l'URL de retour d'une action
    Par et.rond.et.rond dans le forum JSF
    Réponses: 2
    Dernier message: 03/08/2006, 23h03

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