Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2680 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JS] Souci d'inclusion de publicité JS dans fenêtre PopUp JS

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JS] Souci d'inclusion de publicité JS dans fenêtre PopUp JS

n°1943951
lx93
Posté le 24-11-2009 à 13:44:16  profilanswer
 

Bonjour à tous.
 
Je suis nouveau sur ce forum. J'ai parcouru beaucoup de sujets, et après plusieurs heures de réflexions et de tests, je ne trouve pas de réponse à mon souci.
Je n'aime pas trop solliciter de l'aide, je sais que c'est souvent casse pieds et que trop de questions "betes" sont posées... Enfin bon, pour ceux qui souhaiteraient m'aider je les remercie grandement !
 
 
Voici le souci.
En gros, je veux inclure une publicité google dans une fenêtre pop-up, qui s'affiche lorsqu'un utilisateur veut agrandir une photo.
Autrement dit, l'utilisateur appelle une fonction Javascript, qui elle même doit appeler un autre Javascript.
 
Voici ma fonction Javascript appellée par l'utilisateur (simplifiée) :

Code :
  1. <SCRIPT LANGUAGE="JavaScript">
  2. function PopupImage(img)
  3. {
  4. w=open("",'image','weigth=toolbar=no,scrollbars=no,resizable=yes, width=822, height=670');
  5. w.document.write("<HTML><BODY><IMG src='"+img+"'></BODY></HTML>" );
  6. w.document.close();
  7. }
  8. </SCRIPT>


 
Et un (faux) code fourni par google :

Code :
  1. <script type="text/javascript"><!--
  2. google_ad_client = "pub-xxxxxxxxxxxxxx";
  3. google_ad_slot = "xxxxxxxxxxxx";
  4. google_ad_width = 250;
  5. google_ad_height = 250;
  6. //-->
  7. </script>
  8. <script type="text/javascript"
  9. src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
  10. </script>


 
Je pensais que la solution était d'écrire :

Code :
  1. w.document.write("   #script google#   " );


 
Mais forcément, ca va pas au niveau des guillemets.
Donc j'ai pensé mettre des ( "' et '" ) en lieu et place des guillements du script google. Rien n'y fait, je ne m'en sors pas.
 
Comment faire pour afficher cette pub google dans la fenêtre appellée par l'utilisateur ?
Merci à vous.

mood
Publicité
Posté le 24-11-2009 à 13:44:16  profilanswer
 

n°1943955
pataluc
Posté le 24-11-2009 à 14:02:11  profilanswer
 

il faut effectivement échapper tes guillemets, mais avec des \" et \', pas en les doublant.

 
Code :
  1. w.document.write("<script type=\"text/javascript\"><!--" );
  2. w.document.write("google_ad_client = \"pub-xxxxxxxxxxxxxx\";" );
  3. [...]


Message édité par pataluc le 24-11-2009 à 14:04:55
n°1943972
lx93
Posté le 24-11-2009 à 14:43:29  profilanswer
 

Bonjour pataluc, et merçi pour ton aide.
Effectivement, il faut échapper les guillemets comme tu l'as indiqué.

 

J'ai essayé d'afficher une série de guillemets, ça fonctionne.
Par contre, afficher le Javascript reste malheureusement impossible.

 

En fait, lorsque j'écris :

Code :
  1. w.document.write("<script type=\"text/javascript\"" );
  2. w.document.write("</script>" );
 

dans le javascript général, à savoir :

Code :
  1. <SCRIPT LANGUAGE="JavaScript">
  2. function PopupImage(img)
  3. {
  4. w=open("",'image','weigth=toolbar=no,scrollbars=no,resizable=yes, width=822, height=670');
  5. w.document.write("<HTML><BODY><IMG src='"+img+"'></BODY></HTML>" );
  6. w.document.write("<script type=\"text/javascript\"" );
  7. w.document.write("</script>" );
  8. w.document.close();
  9. }
  10. </SCRIPT>
 

C'est le </script> qui est interprété en tant que fin du script principal, et qui ferme donc le <SCRIPT LANGUAGE="JavaScript">.
En conséquence, les instructions ne sont pas entièrement exécutées, et la page php affiche au format texte visible par tous :

Code :
  1. " ); w.document.write("" ); w.document.close(); }
 

Est-il possible de résoudre ce problème ? On peut sans doute passer par un include en php, mais ça me parrait "grossier".


Message édité par lx93 le 24-11-2009 à 14:46:28
n°1943979
pataluc
Posté le 24-11-2009 à 14:56:22  profilanswer
 

je vois deux solution, je ne sais pas laquelle est la meilleure...

 

soit tu échappes les < et > également:

Code :
  1. w.document.write("&lt;script type=\"text/javascript\"&gt;" );
  2. w.document.write("&lt;/script&gt;" );
 

soit tu mets des balises CDATA pour bien lui dire que ce n'est plus du html:

Code :
  1. <script type="text/javascript">
  2. <![CDATA[
  3. w.document.write("<script type=\"text/javascript\"" );
  4. w.document.write("</script>" );
  5. ]]>
  6. </script>
 

les 2 devraient marcher je pense, je ne sais pas ce qui est le mieux...

 


Edit: ah non les CDATA n'ont pas l'air de marcher... reste la première solution...


Message édité par pataluc le 24-11-2009 à 15:00:12
n°1943985
lx93
Posté le 24-11-2009 à 15:13:22  profilanswer
 

Encore merci pataluc pour ton aide. Ca y est, j'ai réussi à ne pas faire bugger la fenêtre PopUp.
Il ne reste qu'un problème : la fenêtre affiche juste le code source du javascript, mais ne l'exécute pas.
 
w.doucument.write est-il une mauvaise commande pour exécuter un javascript ?

n°1943986
pataluc
Posté le 24-11-2009 à 15:19:14  profilanswer
 

ca doit venir du fait que tu ferme les balises body et html avant de mettre le script...

 

sinon, pourquoi ne mets tu pas tout simplement ce code dans une autre page, que tu appelleras avec l'url qui va bien?


Message édité par pataluc le 24-11-2009 à 15:19:20
n°1943993
lx93
Posté le 24-11-2009 à 15:27:49  profilanswer
 

Exact, je pensais à cette méthode. Plus facile mais un peu "tordue".
J'aime bien comprendre en détail chaque petite chose, surtout pour mes sites.
 
En tous cas, merci pour ton aide. Je devrais pouvoir terminer tout seul. ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [JS] Souci d'inclusion de publicité JS dans fenêtre PopUp JS

 

Sujets relatifs
Faire apparaitre une fenetre et griser le reste de la pageSelect lié en JS+PHP : problème avec IE
[JS] modification d'un champ dans popOuverture lien dans autre fenêtre
JS et PHP, round 2bloquer la taille d'une fenêtre popup
[Résolu]Prog java ecoute même quand pas focus dans Windows[JS] Problème: ""null":Cannot convert undefined or null to object"
[Js et PHP] Récuperer contenu d'un champs texte sans refresh 
Plus de sujets relatifs à : [JS] Souci d'inclusion de publicité JS dans fenêtre PopUp JS


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR