Récupérer variable GET en Javascript

Consultez la formation au REFERENCEMENT naturel Google de WebRankInfo / Ranking Metrics

lambi521
WRInaute impliqué
WRInaute impliqué
 
Messages: 782
Inscription: 15 Juin 2010

Récupérer variable GET en Javascript

Message le Jeu Oct 20, 2011 9:49

Bonjour à tous,

Existe t-il une fonction équivalente à $_GET['var'] de PHP en Javascript ?

Je souhaiterais récupérer une variable de pagination qui se trouve dans l'url afin de l'insérer dans les balises meta title et description pour ne pas les avoirs en double dans GWT.

Merci pour vos réponses


e-kiwi
Modérateur
Modérateur
 
Messages: 15618
Inscription: 23 Déc 2003

Re: Récupérer variable GET en Javascript

Message le Jeu Oct 20, 2011 10:07

le javascript étant exécuté coté client, il faut faire un "var toto = <?php echo $_GET['tavariable'] ?>" car le $_GET est coté serveur. donc le php écrira ta variable js avec la bonne valeur

lambi521
WRInaute impliqué
WRInaute impliqué
 
Messages: 782
Inscription: 15 Juin 2010

Re: Récupérer variable GET en Javascript

Message le Jeu Oct 20, 2011 10:19

Merci de ta réponse,

Tu as mal compris ce que je demandais. Là tu me propose de récupérer la variable en PHP et de l'assigner dans une variable JS.

Moi je veux la récupérer en JS, car je ne suis pas dans un fichier .php, sinon je l'aurais fait directement en PHP...


e-kiwi
Modérateur
Modérateur
 
Messages: 15618
Inscription: 23 Déc 2003

Re: Récupérer variable GET en Javascript

Message le Jeu Oct 20, 2011 10:46

la seule chose que tu peux faire en js est de récupérer l'url courante (document.location?) et de la parser pour récupérer tes variables de l'url, de taiter ça comme une chaine à analyser


spout
WRInaute accro
WRInaute accro
 
Messages: 4382
Inscription: 14 Mai 2003

Re: Récupérer variable GET en Javascript

Message le Jeu Oct 20, 2011 11:01


lambi521
WRInaute impliqué
WRInaute impliqué
 
Messages: 782
Inscription: 15 Juin 2010

Re: Récupérer variable GET en Javascript

Message le Jeu Oct 20, 2011 13:44

Merci Spout !

J'ai donc utilisé la fonction de ton 2ème lien de cette manière :

Code: Tout sélectionner
<script type="text/javascript">
   function getQuerystring(key, default_) {
       if (default_==null) default_="";
       key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
       var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
       var qs = regex.exec(window.location.href);
       if(qs == null) return default_; else return qs[1];
   }
</script>


On peut récupérer n'importe quel paramètre en le passant en attribut, un peu comme la fonction $_GET. Ici je récupère mon n° de page 'p' :

Code: Tout sélectionner
var p = getQuerystring('p');


Il ne reste plus qu'à tester cette variable et afficher la bonne meta :

Code: Tout sélectionner
if (p > 1) {
document.write('<meta name="description" content="' + description + ' Page ' + p + '" />');
} else
document.write('<meta name="description" content="' + description + '" />');


Merci pour votre aide ! Problème résolu !

lambi521
WRInaute impliqué
WRInaute impliqué
 
Messages: 782
Inscription: 15 Juin 2010

Re: Récupérer variable GET en Javascript

Message le Jeu Oct 20, 2011 14:12

Edit : Je suis en train de penser... vu que c'est en Javascript, Googlebot comprendra ?


spout
WRInaute accro
WRInaute accro
 
Messages: 4382
Inscription: 14 Mai 2003

Re: Récupérer variable GET en Javascript

Message le Jeu Oct 20, 2011 14:51

Google arrive à lire certains trucs en JS, mais les métas en JS ça m'étonnerais.

lambi521
WRInaute impliqué
WRInaute impliqué
 
Messages: 782
Inscription: 15 Juin 2010

Re: Récupérer variable GET en Javascript

Message le Ven Oct 21, 2011 10:50

Ok, Google ne les lis pas. Mais j'ai trouver le fichier où les metas étaient faites dans Prestahop. Je poste la solution au cas où quelqu'un tomberais là dessus (et dieu sait qu'il y en a qui cherchent).

Ma version : Prestashop 1.4.2

Dans classes/tools.php, rajouter dans function completeMetaTags (ligne 700) :

Code: Tout sélectionner
// We add the current page number to haven't duplication of title / description
$page = self::getValue('p');
if ( (isset($page)) && ($page > 1) ) {
     $metaTags['meta_title'] .= ' - Page '.$page;
     $metaTags['meta_description'] .= ' Page '.$page;
}

Juste avant :

Code: Tout sélectionner
return $metaTags;

A rajouter de la même manière dans function getHomeMetaTags pour avoir les numéros de page dans les fabricants, promotions, nouveautés.


e-kiwi
Modérateur
Modérateur
 
Messages: 15618
Inscription: 23 Déc 2003

Re: Récupérer variable GET en Javascript

Message le Ven Oct 21, 2011 11:08

dans ton cas Google ne devrait pas comprendre. oublie cette histoire de js (foireux à mon avis) et fait le en php.

lambi521
WRInaute impliqué
WRInaute impliqué
 
Messages: 782
Inscription: 15 Juin 2010

Re: Récupérer variable GET en Javascript

Message le Ven Oct 21, 2011 12:48

C'est déjà en php...

Problème résolu !


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation REFERENCEMENT naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité