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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Problème de previewing avec Javascript/Ajax

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de previewing avec Javascript/Ajax

n°1582672
nixnbk
Strip the flesh salt the wound
Posté le 05-07-2007 à 03:22:24  profilanswer
 

Bonjour,
 
Je travaille actuellement sur Javascript et Ajax, et une des fonctions consiste à afficher un aperçu d'une page html, jpg, ou encore swf, dans un <div> prévu à cet effet.
notre première fonction javascript de previewing correspondait à ça :  

Code :
  1. function showpreview(url) {
  2.     document.getElementById("div_cible" ).style.visibility = "";
  3.     document.getElementById("iframe_dans_la_div_cible" ).style.visibility = "";
  4.     document.getElementById("iframe_dans_la_div_cible" ).src = url;
  5. }


 
Cette fonction fonctionne très bien mais provoque un chargement dans la page.
Afin d'éviter de montrer le chargement de la page dans IE et Firefox, Nous utilisons une autre fonction qui utilise la méthode xmlHttp.
 
La fonction javascript correspond à ça :
 

Code :
  1. function showpreview(url)
  2. {
  3. xmlHttp=GetXmlHttpObject()
  4. if (xmlHttp==null)
  5. {
  6.  alert ("Browser does not support HTTP Request" )
  7.  return
  8. }
  9. xmlHttp.onreadystatechange=stateChanged
  10. xmlHttp.open("GET",url,true)
  11. xmlHttp.send(null)
  12. }
  13. function stateChanged()
  14. {
  15. if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete" )
  16. {
  17.  document.getElementById("div_cible" ).innerHTML=xmlHttp.responseText
  18. }
  19. }


 
L'ennui est que après avoir testé cette fonction, on s'est rendu compte qu'apparement elle ne lirait pas les attributs de balise html.
Après quelques tests, nous avons trouvé des résultats plus que curieux :
d'après le code source de la page (merci firebug) on observe que la page html complète, avec tous les appels de fichiers, et toutes les balises, est bien insérée dans le div.
Mais d'après le display sur l'écran : le javascript ne marche pas, le Css ne marche pas, les attributs de balise ne marchent pas tous. Exemple dans la balise body :  

Code :
  1. <body bgcolor="#FF00FF"><p>bla bla<p></body>


l'attribut color ne marche pas. Si on ouvre la page dans une nouvelle fenêtre, les balises fonctionnent, et on obtient une magnifique couleur violette.
Je suppose que le problème viendrait du fait que la div_cible n'est pas une balise <iframe> ...  
Le problème est que que si on teste la fonction en utilisant comme cible d'affichage le <iframe> ca donne rien et au niveau code ca donne ca dans firebug :

Code :
  1. iframe id="iframe_dans_la_div_cible" width="100%" height="100%" frameborder="0" style="visibility: hidden;">
  2. <html>
  3. <head>
  4. <title/>
  5. </head>
  6. <body/>
  7. </html>
  8. <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html>
  9. <head>
  10. <title>Titre de la page</title>
  11. <script type="text/javascript" src="bin/prototype.js">
  12. </script> <script type="text/javascript" src="bin/test.js"> </script>
  13. <link rel="stylesheet" type="text/css" href="css/style.css" />
  14. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  15. </head>
  16. <body>
  17. <div id="element1"><p>zone cliquable pour test javascript</p></div>
  18. <div id="container">résultat test javascript ici</div>
  19. </body>
  20. </html>
  21. </iframe>


 
Comme on peut le voir, on a deux fichiers html qui se créent dans le iframe... ce qui est ... génant. Et qui a mon avis bloque le résultat.
 
 
Bref ma question est courte : Quelqu'un aurait il une idée pour résoudre mon problème de ma fonction javascript, tout en évitant des chargements dans la page.
 
Merci d'avance.
 
Nico.


---------------
I'll feed your skin snacks to my cockatiel!
mood
Publicité
Posté le 05-07-2007 à 03:22:24  profilanswer
 

n°1582679
gatsu35
Blablaté par Harko
Posté le 05-07-2007 à 08:03:36  profilanswer
 

le iframe c'est juste fait pour foutre une page HTML pas du code HTML.  
et c'est un peu normal que tout ce qui est styles et autres conneries présentent dans le head ne soit pas lu.
Le seul moyen reste une iframe [:spamafote]

n°1582751
nixnbk
Strip the flesh salt the wound
Posté le 05-07-2007 à 11:16:56  profilanswer
 

En effet, il est apparu que finalement, la premiere fonction marche bien mieux que la seconde ... iframe donc :(.
 
Tant pis ^^


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

  Problème de previewing avec Javascript/Ajax

 

Sujets relatifs
expression régulière [nouveau problème]Problème avec pagination
probleme d'adresse memoire qui rend fou[JavaScript] Ouvrir une page dans la fenêtre parente ?
Un petit problème qui me pose... souci !probleme fichier téléchargé avec telechargement forcé de php
[resolut] Probleme de compilation avec QtXmljavascript dans un input
[javascript] problème de récursivité 
Plus de sujets relatifs à : Problème de previewing avec Javascript/Ajax


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