rudyboy
Messages postés12Date d'inscriptionjeudi 5 juin 2003StatutMembreDernière intervention12 juin 2003
-
5 juin 2003 à 11:09
cs_zez
Messages postés1Date d'inscriptionvendredi 26 novembre 2004StatutMembreDernière intervention30 septembre 2010
-
30 sept. 2010 à 18:12
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_zez
Messages postés1Date d'inscriptionvendredi 26 novembre 2004StatutMembreDernière intervention30 septembre 2010 30 sept. 2010 à 18:12
Salut les balèzes du java !!!
Bon moi je suis une brèle dans ce domaine mais j'essaye de tripatouiller du code pour récupérer des variables d'une url et les réinjecter dans une anim flash, jusqu'à là tout vas bien ça marche !
Mon soucis est que quand aucune variable n'est présente dans l'url mon code envoie donc des paramètres vides au flash et du coup ça bug...
Donc j'imagine qu'il faut utiliser "if" mais je ne sait pas comment faire...
Voila le code:
// <![CDATA[
if (typeof(deconcept) !== 'undefined' && deconcept.SWFObjectUtil.getPlayerVersion().major >= 6)
{
var qs = window.location.search.substring(1);
var qs_parts = qs.split('&');
var qs_params = [];
var tmp;
for (var i=0;i<qs_parts.length;++i) {
tmp = qs_parts[i].split('=');
qs_params[tmp[0]] = tmp[1];
var so = new SWFObject("krpano.swf", "krpanoSWFObject", "100%", "100%", "9.0.28","#000000");
so.addVariable("xml","angers.xml");
so.addParam("wmode","opaque");
so.addVariable('view.hlookat', qs_params['x']);
so.addVariable('view.vlookat', qs_params['y']);
so.addVariable('view.fov', qs_params['z']);
if ( so.write("krpanoDIV") ) { var mousewheelfixes = new SWFkrpanoMouseWheel(so); }
}
En gros c'est pour pouvoir partager une position d'un panorama 360° sur facebook...
Merci du coup de main !!!
cruchacode
Messages postés11Date d'inscriptionsamedi 14 août 2004StatutMembreDernière intervention22 février 2012 16 sept. 2010 à 23:03
Afin de rechercher les & et les ? dans la querystring, il faut la décoder ... c
new String(decodeURIComponent(location.href));
Le code initialement proposé par Bud peut être modifié comme suit :
function getVar (nomVariable)
{
var aUri = new String(decodeURIComponent(location.href));
var infos = "&" + aUri.substring(aUri.indexOf("?")+1,
aUri.length)+"&";
if (infos.indexOf("#")!=-1)
infos = "&" + infos.substring(0,infos.indexOf("#"))+"&";
var variable=0;
{
nomVariable = "&" + nomVariable + "=";
var lenVar = nomVariable.length;
var p = infos.indexOf(nomVariable);
if (p != -1)
{
variable = infos.substring(p+lenVar,
infos.length).substring(0,infos.substring(p+lenVar,infos.length).indexOf("&"));
}
}
return variable
}
cs_petifa
Messages postés215Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention10 mars 2014 8 sept. 2009 à 11:31
Slt tu pourrais faire une petite modification sur ton code, pour gagner en lisibilité et en traitement
Au lieu de mettre :
# nomVariable = nomVariable + "="
# var taille = nomVariable.length
# if (infos.indexOf(nomVariable)!=-1)
# variable = infos.substring(infos.indexOf(nomVariable)+taille,infos.length).substring(0,infos.substring(infos.indexOf(nomVariable)+taille,infos.length).indexOf("&"))
Mettre à la place :
# nomVariable = nomVariable + "=";
# if ((pos = infos.indexOf(nomVariable)) !=-1)
# {
# variable = infos.substring(pos + nomVariable.length, infos.length);
# variable = variable.substring(0, variable.indexOf("&"));
# }
Kikuts
Messages postés159Date d'inscriptionjeudi 11 janvier 2007StatutMembreDernière intervention 5 novembre 2010 6 juil. 2009 à 15:00
Puré ce post est ptetre mort, mais mince ! Belt m'a fait délirer : il n'y va pas de main morte xD
cs_RudiRatlos
Messages postés6Date d'inscriptionvendredi 17 février 2006StatutMembreDernière intervention10 décembre 2007 28 déc. 2007 à 13:51
...ca marche, c'est tout ce qui compte 10/10.
cs_stay
Messages postés493Date d'inscriptionjeudi 7 juillet 2005StatutMembreDernière intervention24 mai 20174 30 nov. 2007 à 14:26
C'est exactement ce que j'avais besoin 10/10.
cs_LeGrosWinnie
Messages postés47Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention18 mai 2007 18 mai 2007 à 18:11
Mon script ne fonctionne qu'avec du HTML et ce position entre des balise <script> </script> en bas de page ,juste avant par exemple, de façon à modifier ce qui est déjà afficher, toujours par exemple.
Dans mon exemple dans l'URL je cherche la valeur de "Lieu", qui a une insidence sur l'affichage final de ma page (j'affiche une série de photos en rapport avec le lieu trouvé et non pas la page d'accueil classique).
cs_BestOne
Messages postés2Date d'inscriptionjeudi 19 août 2004StatutMembreDernière intervention18 mai 2007 18 mai 2007 à 14:14
En faite je ne dispose que des pages statiques et l'utilsation de PHP est exclue. J'ai besoin des détails consairenant la récupération et l'affichage d'une seul variable et le reste je vais essayer de le faire. Dans ton script il n'y a aucune indication sur la fonction et les paramétres d'entrés ou de sorties, donc je ne voix pas comment implémenter ton script dans une page HTML :-(
cs_LeGrosWinnie
Messages postés47Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention18 mai 2007 18 mai 2007 à 10:50
BestOne
Le mieux serait en php où tu peux directement récupéter les variables "$_GET['NomDeLaVarURL']".
Sinon, en JavaScript il faut créer un tableau de cahîne de caractères, faire une boucle du style "Tant Qu'il y a '&' dans l'URL Faire", dans la boucle utiliser la fonction pour récupérer à chaque passage une nouvelle variable, etc. etc.. Compliqué quoi... :-p
cs_BestOne
Messages postés2Date d'inscriptionjeudi 19 août 2004StatutMembreDernière intervention18 mai 2007 17 mai 2007 à 11:22
cs_LeGrosWinnie
Messages postés47Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention18 mai 2007 13 mai 2007 à 17:41
Pour ceux qui cherchent comment fonctionne IndexOf :
window.location.search.indexOf('TOTO') va retourner 0 si TOTO apparaît par exemple ici :
www.google.fr/TOTO
Et substr renvoie la chaîne située entre position1 et position2 :
substr(position1, position2)
Il faut donc l'utiliser avec indexOf utilisé précédement pour avoir la position du début de la variable (position de '?' plus 1) et de la fin (position de '&' moins 1 si plusieurs variables)
Exemple pour avoir la position de la variable 'Lieu' (beaucoup plus simple que celui ci-dessus, mais ne fonctionne qu'avec UNE variable, à vous d'adapter...désolé :-p) :
var Lieu = new String(Lieu); //Création de la variable 'string' Lieu
Lieu = '?Lieu='; //Détection de la variable dans l'URL
Position = window.location.search.indexOf(Lieu); //Recherche de la position
if (Position != -1) //Si une position est trouvé on continue, sinon, rien ne se passe
}
Position = Lieu.length; //Nouvelle position pour le contenue de la variable 'Lieu'
Lieu = window.location.search.substr(Position); //On remplace 'Lieu' par le contenue de la variable
}
cs_LeGrosWinnie
Messages postés47Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention18 mai 2007 13 mai 2007 à 17:09
RUDYBOY
Tu pourrais mettre du commentaire dans ton code ? Histoire d'expliquer ce que tu fais et comment fonctionnent les fonctions que tu utilises.
Si tu pouvais aussi éviter le return à ralonge où on ne comprend rien...
Si quelqu'un lit ce code c'est qu'il ne sait pas faire, donc essaies d'être clair...
BELT
Bin, proposes-en un puisque tu as l'air si doué...
cs_Belt
Messages postés47Date d'inscriptionjeudi 13 juin 2002StatutMembreDernière intervention 3 juillet 2006 25 sept. 2003 à 15:55
Franchement il est vraiment pourri ton code en plus
en Javascript les "if" ca s'écrit "if" pas "If" et les point virgules ca
éxiste aussi !!!!!
rudyboy
Messages postés12Date d'inscriptionjeudi 5 juin 2003StatutMembreDernière intervention12 juin 2003 5 juin 2003 à 11:09
ce code ne marche pas si 2 (ou +) variables ont une partie du nom en commun, ex : ?montoto=1&toto=2, si on cherche la variable toto -> getVar va renvoyer 1 au lieu de 2 car le test doit porter sur ?toto= ou &toto= ...
de plus les premières lignes st inutiles, il suffit de prendre location.search, qui ne renvoie que la portion qui nous intéresse (sans le # et sans l'adresse proprement dite.
Ma méthode :
function QueryString(param){
var strParam = new String(param);
var position = window.location.search.indexOf('&' + strParam + '=');
if (position==-1)
position = window.location.search.indexOf('?' + strParam + '=');
if (position==-1)
return '';
return (window.location.search.indexOf('&', position + strParam.length + 2)==-1) ? window.location.search.substr(position + strParam.length + 2) : window.location.search.substr(position + strParam.length + 2, window.location.search.indexOf('&', position + strParam.length + 2) - (position + strParam.length + 2));
}
30 sept. 2010 à 18:12
Bon moi je suis une brèle dans ce domaine mais j'essaye de tripatouiller du code pour récupérer des variables d'une url et les réinjecter dans une anim flash, jusqu'à là tout vas bien ça marche !
Mon soucis est que quand aucune variable n'est présente dans l'url mon code envoie donc des paramètres vides au flash et du coup ça bug...
Donc j'imagine qu'il faut utiliser "if" mais je ne sait pas comment faire...
Voila le code:
// <![CDATA[
if (typeof(deconcept) !== 'undefined' && deconcept.SWFObjectUtil.getPlayerVersion().major >= 6)
{
var qs = window.location.search.substring(1);
var qs_parts = qs.split('&');
var qs_params = [];
var tmp;
for (var i=0;i<qs_parts.length;++i) {
tmp = qs_parts[i].split('=');
qs_params[tmp[0]] = tmp[1];
var so = new SWFObject("krpano.swf", "krpanoSWFObject", "100%", "100%", "9.0.28","#000000");
so.addVariable("xml","angers.xml");
so.addParam("wmode","opaque");
so.addVariable('view.hlookat', qs_params['x']);
so.addVariable('view.vlookat', qs_params['y']);
so.addVariable('view.fov', qs_params['z']);
if ( so.write("krpanoDIV") ) { var mousewheelfixes = new SWFkrpanoMouseWheel(so); }
}
}
else
{
document.getElementById("krpanoDIV").innerHTML = '<center>ERROR:
Adobe Flash Player 9 needed
...click here to download...
</center>
';
}
// ]]>
Donc en gros les variables
so.addVariable('view.hlookat', qs_params['x']);
so.addVariable('view.vlookat', qs_params['y']);
so.addVariable('view.fov', qs_params['z']);
ne doivent êtres pas envoyées si elles sont absente de l'url... une idée ?
Si je ne suis pas clair l'essai est là : http://www.360images.fr/360/angers_haute_def/angers.html?x=34.42198796204111&y=3.0000000000000036&z=59.727912431587185
En gros c'est pour pouvoir partager une position d'un panorama 360° sur facebook...
Merci du coup de main !!!
16 sept. 2010 à 23:03
new String(decodeURIComponent(location.href));
Le code initialement proposé par Bud peut être modifié comme suit :
function getVar (nomVariable)
{
var aUri = new String(decodeURIComponent(location.href));
var infos = "&" + aUri.substring(aUri.indexOf("?")+1,
aUri.length)+"&";
if (infos.indexOf("#")!=-1)
infos = "&" + infos.substring(0,infos.indexOf("#"))+"&";
var variable=0;
{
nomVariable = "&" + nomVariable + "=";
var lenVar = nomVariable.length;
var p = infos.indexOf(nomVariable);
if (p != -1)
{
variable = infos.substring(p+lenVar,
infos.length).substring(0,infos.substring(p+lenVar,infos.length).indexOf("&"));
}
}
return variable
}
8 sept. 2009 à 11:31
Au lieu de mettre :
# nomVariable = nomVariable + "="
# var taille = nomVariable.length
# if (infos.indexOf(nomVariable)!=-1)
# variable = infos.substring(infos.indexOf(nomVariable)+taille,infos.length).substring(0,infos.substring(infos.indexOf(nomVariable)+taille,infos.length).indexOf("&"))
Mettre à la place :
# nomVariable = nomVariable + "=";
# if ((pos = infos.indexOf(nomVariable)) !=-1)
# {
# variable = infos.substring(pos + nomVariable.length, infos.length);
# variable = variable.substring(0, variable.indexOf("&"));
# }
6 juil. 2009 à 15:00
28 déc. 2007 à 13:51
30 nov. 2007 à 14:26
18 mai 2007 à 18:11
Dans mon exemple dans l'URL je cherche la valeur de "Lieu", qui a une insidence sur l'affichage final de ma page (j'affiche une série de photos en rapport avec le lieu trouvé et non pas la page d'accueil classique).
18 mai 2007 à 14:14
18 mai 2007 à 10:50
Le mieux serait en php où tu peux directement récupéter les variables "$_GET['NomDeLaVarURL']".
Sinon, en JavaScript il faut créer un tableau de cahîne de caractères, faire une boucle du style "Tant Qu'il y a '&' dans l'URL Faire", dans la boucle utiliser la fonction pour récupérer à chaque passage une nouvelle variable, etc. etc.. Compliqué quoi... :-p
17 mai 2007 à 11:22
URL:http://perso.ifrance.fr/recuperationget.html?Nom=gghg&prenom=eee&Age=12&Tel=132343545&email=EZEZE@hyj&Valider=Valider
je veux récuperer les valeurs des variables Nom, penom, Age, Tel et email via la page recuperationget.html et l'afficher sous format tableau :
Nom gghg
prenom eee
Age 12
Tel 13234545
email EZEZE@hyj
Merci
13 mai 2007 à 17:41
window.location.search.indexOf('TOTO') va retourner 0 si TOTO apparaît par exemple ici :
www.google.fr/TOTO
Et substr renvoie la chaîne située entre position1 et position2 :
substr(position1, position2)
Il faut donc l'utiliser avec indexOf utilisé précédement pour avoir la position du début de la variable (position de '?' plus 1) et de la fin (position de '&' moins 1 si plusieurs variables)
Exemple pour avoir la position de la variable 'Lieu' (beaucoup plus simple que celui ci-dessus, mais ne fonctionne qu'avec UNE variable, à vous d'adapter...désolé :-p) :
var Lieu = new String(Lieu); //Création de la variable 'string' Lieu
Lieu = '?Lieu='; //Détection de la variable dans l'URL
Position = window.location.search.indexOf(Lieu); //Recherche de la position
if (Position != -1) //Si une position est trouvé on continue, sinon, rien ne se passe
}
Position = Lieu.length; //Nouvelle position pour le contenue de la variable 'Lieu'
Lieu = window.location.search.substr(Position); //On remplace 'Lieu' par le contenue de la variable
}
13 mai 2007 à 17:09
Tu pourrais mettre du commentaire dans ton code ? Histoire d'expliquer ce que tu fais et comment fonctionnent les fonctions que tu utilises.
Si tu pouvais aussi éviter le return à ralonge où on ne comprend rien...
Si quelqu'un lit ce code c'est qu'il ne sait pas faire, donc essaies d'être clair...
BELT
Bin, proposes-en un puisque tu as l'air si doué...
25 sept. 2003 à 15:55
en Javascript les "if" ca s'écrit "if" pas "If" et les point virgules ca
éxiste aussi !!!!!
5 juin 2003 à 11:09
de plus les premières lignes st inutiles, il suffit de prendre location.search, qui ne renvoie que la portion qui nous intéresse (sans le # et sans l'adresse proprement dite.
Ma méthode :
function QueryString(param){
var strParam = new String(param);
var position = window.location.search.indexOf('&' + strParam + '=');
if (position==-1)
position = window.location.search.indexOf('?' + strParam + '=');
if (position==-1)
return '';
return (window.location.search.indexOf('&', position + strParam.length + 2)==-1) ? window.location.search.substr(position + strParam.length + 2) : window.location.search.substr(position + strParam.length + 2, window.location.search.indexOf('&', position + strParam.length + 2) - (position + strParam.length + 2));
}