Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/07/2011, 18h07   #1
Invité de passage
 
Homme
Inscription : juillet 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Luxembourg

Informations forums :
Inscription : juillet 2011
Messages : 4
Points : 2
Points : 2
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 :
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 :
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 :
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.
VirtualCed est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2011, 23h21   #2
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
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 :
<iframe width="425" height="349" src="http://www.mon-site-a-moi.com/affichergalerie.php?id=2hgiMJu2CdM" frameborder="0" allowfullscreen></iframe>
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 01h34   #3
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 867
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 867
Points : 1 374
Points : 1 374
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 :
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 . ";" ;
?>
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 07h52   #4
Invité de passage
 
Homme
Inscription : juillet 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Luxembourg

Informations forums :
Inscription : juillet 2011
Messages : 4
Points : 2
Points : 2
Je me trompe peut-être mais je viens de tester ceci

Code :
1
2
3
4
5
<?php
header('Content-type: text/javascript');
$title = $_GET['title'];
echo "document.writeln(\\\"".$title."\\\");";
?>
appelé par un

Code :
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 :
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
VirtualCed est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 09h14   #5
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 867
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

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

Code :
1
2
3
4
5
<?php
header('Content-type: text/javascript');
$title = $_GET['title'];
echo "document.writeln(\\\"".$title."\\\");";
?>
appelé par un

Code :
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 :
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 :
document.writeln("athus");
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 09h16   #6
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
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 :
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 :
<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 :
<iframe ... src="http://www.mon-site-a-moi.com/affichergalerie.php?param1=xxxxx&amp;param2=yyyy&amp;param3=zzzz" ...></iframe>
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 09h26   #7
Invité de passage
 
Homme
Inscription : juillet 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Luxembourg

Informations forums :
Inscription : juillet 2011
Messages : 4
Points : 2
Points : 2
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
VirtualCed est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 09h31   #8
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
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
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 09h35   #9
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 867
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 867
Points : 1 374
Points : 1 374
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.
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 09h39   #10
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 867
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 867
Points : 1 374
Points : 1 374
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.
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 09h44   #11
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
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 ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 09h58   #12
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 867
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 867
Points : 1 374
Points : 1 374
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).
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 10h39   #13
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
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 ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h34.


 
 
 
 
Partenaires

Hébergement Web