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 :

Récupérer un href sans attr dans le a


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Récupérer un href sans attr dans le a
    Bonjour à tous,

    Je suis un peu une merde en JS, et on m'a demander de récupérer les href des onglets actifs quelque soit la page de l'application. Pour que je puisse envoyer le link à quelqu'un et qu'il tombe sur le même contenu que moi et qu'au refresh aussi le contenu reste tel quel.

    J'ai commencer à faire une page de test avant de commencer dans l'application, et je bloque pour récuper les href, quelqu'un saurait m'éclairer ? Je paye ma bière si tu m'aide ^^

    Alors voici mon html (il y a bootstrap et jQuery dans le head normalement) :

    Code html : 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
    <body>
            <div class="container">
                <h2> Test système d'onglets </h2>
                </br>
                  <div class="tabbable">
                    <ul id="myTab" class="nav nav-tabs tabs-flat col-md-6">
                        <li class="active">
                            <a data-toggle="tab" href="#informations" aria-expanded="true"> Informations </a>
                        </li>
                        <li class="">
                            <a data-toggle="tab" href="#characteristics" aria-expanded="false"> Caractéristiques </a>
                        </li>
                        <li class="">
                            <a data-toggle="tab" href="#owner-informations" aria-expanded="false"> Mes informations </a>
                        </li>
                    </ul>
                  </div>
                  <div class="tabbable">
                    <ul id="myTab2" class="nav nav-tabs tabs-flat col-md-6">
                        <li class="active">
                            <a data-toggle="tab" href="#photos" aria-expanded="true"> Photos </a>
                        </li>
                        <li class="">
                            <a data-toggle="tab" href="#addPhotos" aria-expanded="false"> Ajouter une photo </a>
                        </li>
                    </ul>
                  </div>
            </div>
        </body>

    Et voici le code js qu'on m'a dit d'utiliser :

    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
    function _GET(param) {
    		var vars = {};
    		var url = window.location.href;
    		var splits = url.split('#');
     
    		if(splits.length <= 1)
    			return null;
     
    		url = splits[1];
    		url.replace( location.hash, '' ).replace( 
    			/[?&]+([^=&]+)=?([^&]*)?/gi,
    			function( m, key, value ) {
    				vars[key] = value !== undefined ? value : '';
    			}
    		);
     
    		if (param)
    			return vars[param] ? vars[param] : null;	
    		return vars;
    	}
    Mais ensuite ? comment dire qu'il faut que tous les onglets actifs seront stocké dans un tableau et renvoyer dans l'URL ?

    (Désolée pour la lisibilité du code, c'est quoi l'icone pour en insérer ? ^^c'est mon premier post)

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    (Désolée pour la lisibilité du code, c'est quoi l'icone pour en insérer ? ^^c'est mon premier post)
    #

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2016
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci, tu peux m'aider pour le reste ou pas ahah

  4. #4
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Récupérer le contenu des attributs href n'est pas un problème, mais je ne comprends pas la question et le lien avec cette fonction bizarre.

    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    let tab = [];
     
    // enlever .replace( /\#/, "" ) si on veut conserver les #
    $( "[href]" ).each( function( i, item ){
    	tab.push( item.getAttribute( "href" ).replace( /\#/, "" ) );
    });
     
    // debug, console, touche F12
    console.log( tab );
     
    // ["https://code.jquery.com/qunit/qunit-2.0.1.css",
    // "http://code.jquery.com/ui/1.11.4/themes/le-frog/jquery-ui.min.css",
    // "informations", "characteristics", "owner-informations",
    // "photos", "addPhotos"]

    On peut ensuite envoyer le contenu de l'array tab par une transaction AJAX :

    Code JavaScript : 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
    // envoi au serveur par une transaction AJAX
    let jqXHR = $.get( "monFichier.php", { "data" : tab } );
     
    setTimeout( function(){
    		// Si l'objet différé existe dans l'état "attendre", 
    		// alors exécute la méthode fail()
     
    		if ( jqXHR && jqXHR.state() === "pending" ){
    			jqXHR.abort();
    		}
    }, 3000 ); // 3s
     
    jqXHR.done( function( data, textStatus, jqXHR ){
    		// succès de la transaction, on doit traiter le contenu de data
    		console.log( data, textStatus, jqXHR );
     
    });
     
    jqXHR.fail( function( jqXHR, textStatus, errorThrown ){
    		// échec de la transaction, gérer la catastrophe
    		console.log( jqXHR, textStatus, errorThrown );
     
    });
     
    jqXHR.always( function( jqXHR, textStatus ){
    		// la transaction est terminée
    		// nettoyage
    		// exécution d'un code dépendant
    		console.log( jqXHR, textStatus );
     
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/07/2014, 20h52
  2. Réponses: 2
    Dernier message: 05/12/2013, 15h55
  3. [MVVM] Récupérer un password (Sans enregistrement dans le viewModel)
    Par Monkey56 dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 25/01/2013, 14h42
  4. Récupérer lien href dans la page
    Par seb-65 dans le forum jQuery
    Réponses: 29
    Dernier message: 14/05/2012, 20h54
  5. [RegEx] Récupérer des href sans ?
    Par pusse dans le forum Langage
    Réponses: 4
    Dernier message: 08/04/2009, 14h09

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