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 :

Passage de variable, recherche piste.


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 4
    Par défaut Passage de variable, recherche piste.
    Bonjour,

    Je ne suis pas pro du tout en JS mais je dois permettre à des autres sites de pouvoir intégrer du contenu sur leur site en provenance du mien.

    Le contenu à intégrer est dans le head de leur page, le chargement d'une css et d'un javascript et son initialisation. (Shadowbox).
    Dans le contenu de la page, je dois intégrer du code html.
    Alors j'ai créé deux javascripts que voici :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    document.writeln("<link rel=\"stylesheet\" type=\"text/css\" href=\"http://www.vue-360.eu/remote/shadowbox.css\">");
    document.writeln("<script type=\"text/javascript\" src=\"http://www.vue-360.eu/remote/shadowbox.js\"></script>");
    document.writeln("<script type=\"text/javascript\">");
    document.writeln("Shadowbox.init();");
    document.writeln("</script>");
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var codeurl = "galerie";
    var title = "Galerie C...";
    document.writeln("<a title=\""+title+"\" rel=\"shadowbox\" href=\"http://www.immographe.com/stock/"+codeurl+"\"><img src=\"http://www.immographe.com/stock/"+codeurl+"/miniature.jpg\"><br>"+title+"</a>");
    Ainsi, le client aura une page du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <script language="javascript" type="text/javascript" SRC="http://www.vue-360.eu/remote/head360.js"></script>
    </head>
    <body>
    <script language="javascript" type="text/javascript" SRC="http://www.vue-360.eu/remote/vue360-galerie.js"></script>
    </body>
    </html>
    Le but étant d'intégrer le minimum de code chez le client dont les compétences en informatique sont souvent assez basique.

    Je ne veux pas lui faire placer beaucoup plus que ce que j'ajoute déjà.

    Seulement, je dois créer un fichier de type vue360-xxx.js par client.

    J'aimerais trouver un moyen simple pour que l'appel javascript contienne un identifiant par exemple qui irait prendre les infos quelque part pour codeurl et title.
    J'ai du PHP, du MySQL à ma dispo ou je sais pas quoi d'autre.

    En fait, je n'ai aucune idée vers quoi me diriger pour avoir un contenu différent.

    Je ne sais donc pas comment aller chercher les infos pour assigner aux variables, ni dans quoi, ni comment passer un identifiant dans l'appel du js.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par VirtualCed Voir le message
    je dois permettre à des autres sites de pouvoir intégrer du contenu sur leur site en provenance du mien.
    Bonjour,
    à mon avis, tu devrais faire comme youtube (par exemple) :
    - tu gardes la page (affichergalerie.php) sur ton site,
    - le site distant a juste à "intégrer" un petit code du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <iframe width="425" height="349" src="http://www.mon-site-a-moi.com/affichergalerie.php?id=2hgiMJu2CdM" frameborder="0" allowfullscreen></iframe>

  3. #3
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    Comme le dit jreaux62, une solution iframe semblerait plus adapté à ce que tu veux faire.

    Pour l'identifiant(en gardant ta façon de faire) tu récupères l'id de ton utilisateur dans ta base de données et tu crées ton fichier .JS en.PHP avec un header adapté.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    	// fichier à interpréter en javascript
    	header('Content-type: text/javascript');
    	// exemple de code javascript généré en php
    	echo "var user_id = " . $user_id . ";" ;
    ?>

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 4
    Par défaut
    Je me trompe peut-être mais je viens de tester ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    header('Content-type: text/javascript');
    $title = $_GET['title'];
    echo "document.writeln(\\\"".$title."\\\");";
    ?>
    appelé par un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <body>
    <script language="javascript" type="text/javascript" SRC="http://www.vue-360.eu/remote/vue360.php?title=athus"></script>
    </body>
    Qui, si on est d'accord me génère un javascript contenant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.writeln(\"athus\");
    Mais pas page reste blanche

    Dans Firebug, je vois bien le code généré, mais il ne s'affiche pas dans l'html

  5. #5
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    Citation Envoyé par VirtualCed Voir le message
    Je me trompe peut-être mais je viens de tester ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    header('Content-type: text/javascript');
    $title = $_GET['title'];
    echo "document.writeln(\\\"".$title."\\\");";
    ?>
    appelé par un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <body>
    <script language="javascript" type="text/javascript" SRC="http://www.vue-360.eu/remote/vue360.php?title=athus"></script>
    </body>
    Qui, si on est d'accord me génère un javascript contenant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.writeln(\"athus\");
    Mais pas page reste blanche

    Dans Firebug, je vois bien le code généré, mais il ne s'affiche pas dans l'html
    En même temps avec ce que tu nous montres, c'est normal que ça n'affiche rien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.writeln("athus");

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour, je pense qu'il y a confusion.
    Oublie l'idée d'écrire du code dans la page du client.

    Dans ma solution, on affiche une iframe.
    A l'intérieur de l'iframe, c'est une page "complète" qui s'affiche.
    Elle doit donc contenir toutes les balises html d'une page "classique" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <script language="javascript" type="text/javascript" SRC="http://www.vue-360.eu/remote/head360.js"></script>
    </head>
    <body>
    <script language="javascript" type="text/javascript" SRC="http://www.vue-360.eu/remote/vue360-galerie.js"></script>
    </body>
    </html>
    Cette page sera construite à partir de l'instruction donnée au lien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <iframe ... src="http://www.mon-site-a-moi.com/affichergalerie.php?id=xxxxx" ...></iframe>
    - affichergalerie.php = page qui traite la demande (affiche la page)
    - id = un identifiant servant à ... identifier (!) les données à afficher (en fonction du client).
    Ces données peuvent être (par exemple) stockées en BdD et récupérée via l'id.
    -OU on peut transmettre plusieurs paramètres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <iframe ... src="http://www.mon-site-a-moi.com/affichergalerie.php?param1=xxxxx&amp;param2=yyyy&amp;param3=zzzz" ...></iframe>
    Dernière modification par Invité ; 31/07/2011 à 09h31.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2011
    Messages : 4
    Par défaut Merci
    Effectivement cela fonctionne.... c'était un \ de trop

    Maintenant, l'iframe oui, pourquoi pas. Mais cela marche bien avec le javascript. Quel est l'intérêt de l'un par rapport à l'autre ?

    cEd

  8. #8
    Invité
    Invité(e)
    Par défaut
    Cette solution par <iframe> a au moins 2 avantages :
    1/ le code fourni au client est court et facile à intégrer.
    2/ tu "gardes la main" sur ton code.
    tu peux à tout moment faire une modif. (ou une correction, une amélioration, ou ...) sans avoir besoin d'embêter le client

  9. #9
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    Citation Envoyé par VirtualCed Voir le message
    Effectivement cela fonctionne.... c'était un \ de trop

    Maintenant, l'iframe oui, pourquoi pas. Mais cela marche bien avec le javascript. Quel est l'intérêt de l'un par rapport à l'autre ?

    cEd
    Je dirai que la première différence, c'est qu'avec le javascript tu as le contrôle (quasi) total du site (du moins coté client), ça peut te servir si tu veux tracer des visiteurs/cliques comme google analytics/adsense.

    Par contre, ça peut gêner la personne qui installe ton code qui n'aimerait pas voir sa page modifiée par toi.

    L'iframe empêchant l'un l'autre d'avoir accès au site ne lui appartenant pas, aucun de vous n'a accès au contenu de l'autre site, il t'affiche simplement là où il met ton code.

  10. #10
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Cette solution par <iframe> a au moins 2 avantages :
    1/ le code fourni au client est court et facile à intégrer.
    2/ tu "gardes la main" sur ton code.
    tu peux à tout moment faire une modif. (ou une correction, une amélioration, ou ...) sans avoir besoin d'embêter le client
    1/ une ligne "<script type='text/javascript' src='http://www.vue-360.eu/remote/?dfg44SZD1' ></script>" n'est pas plus longue à intégrer. Le javascript prendra peut-être juste un peu plus de temps à créer pour lui que du html.
    2/ oui il garde la main dessus dans le sens où l'autre ne peut pas (trop) bidouiller sa page, par contre pour une mise à jour, il suffit qu'il modifie le .js sur son serveur si la source pointe bien sur son site vue360.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Sauf que la méthode en JS est intrusive : on écrit du code dans la page du client.
    Si j'étais "client", je ne suis pas sûr que j'aimerais ca.
    Citation Envoyé par Willpower Voir le message
    ... ça peut te servir si tu veux tracer des visiteurs/cliques comme google analytics/adsense...
    Justement ! En tant que "client", je n'aurais pas envie qu'on mette le nez dans mes affaires !

    Avec l'iframe, (toujours en tant que "client"), je n'ai aucune crainte, puisque ca n'a pas de lien direct avec mon code.

    Reprenons l'exemple des vidéos youtube :
    - qui accepterais d'intégrer un bout de code javascript, sans savoir ce qu'il fait exactement ?
    - alors que l'iframe, no problemo ! on a confiance, on intègre ...

  12. #12
    Membre Expert Avatar de Willpower
    Homme Profil pro
    sans emploi
    Inscrit en
    Décembre 2010
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : sans emploi

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 009
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Sauf que la méthode en JS est intrusive : on écrit du code dans la page du client.
    Si j'étais "client", je ne suis pas sûr que j'aimerais ca.

    Justement ! En tant que "client", je n'aurais pas envie qu'on mette le nez dans mes affaires !

    Avec l'iframe, (toujours en tant que "client"), je n'ai aucune crainte, puisque ca n'a pas de lien direct avec mon code.

    Reprenons l'exemple des vidéos youtube :
    - qui accepterais d'intégrer un bout de code javascript, sans savoir ce qu'il fait exactement ?
    - alors que l'iframe, no problemo ! on a confiance, on intègre ...
    C'est exactement ce que je disais dans mon poste juste avant, comme principale différence entre le script et l'iframe.

    edit: et l'exemple en citant "youtube" est le plus mal choisi, car (quasi) tout le monde accepterai d'intégrer un script du 3ème site le plus visité au monde. (comme on le fait en acceptant les scripts adsense).

  13. #13
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Willpower Voir le message
    ... (quasi) tout le monde accepterai d'intégrer un script du 3ème site le plus visité au monde. ...
    Ca, c'est surtout parce que les gens confondent "notoriété" avec "intégrité" !

    Le fait qu'un site, une personne, une entreprise, ... soit "connu" ou "célèbre" n'en fait pas nécessairement un "modèle d'honnêteté" !

    C'est aussi oublier le slogan des "Inconnus" (dans leur sketch de "l'agence de pub") :
    "Il ne faut pas prendre les gens pour des cons, .... mais il ne faut pas oublier qu'ils le sont !"

    Certaines personnes/sites/entreprises en profitent largement ...

Discussions similaires

  1. [Batch] Recherche chaine de caractere dans spool puis passage en variable VRAI/FAUX
    Par calamarz dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 09/04/2009, 15h50
  2. Passage de variable dans un lien asp
    Par VirginieGE dans le forum ASP
    Réponses: 4
    Dernier message: 27/07/2004, 10h06
  3. [Kylix] passage de variable en Libc
    Par zheng dans le forum EDI
    Réponses: 11
    Dernier message: 06/05/2004, 14h14
  4. Passage de variable par methode post ?
    Par oazar dans le forum Flash
    Réponses: 33
    Dernier message: 16/10/2003, 17h03
  5. [langage] Passage de variables...
    Par martijan dans le forum Langage
    Réponses: 8
    Dernier message: 30/07/2003, 09h48

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