begin process at 2012 05 29 01:45:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Framework

 > 

Ajax

 > 

Ajax - Contenu avec javascript swf et googlemap (fckeditor)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Ajax - Contenu avec javascript swf et googlemap (fckeditor)

samedi 18 avril 2009 à 14:14:05 | Ajax - Contenu avec javascript swf et googlemap (fckeditor)

oeann

Bonjour j'ai besoin de votre aide. J'utilise FCKeditor mon outil est monté avec des pages ajax pour chargement du contenu. L'outil me pose probleme pour le passage de fonction javascript dans la reponse de ajax le javascript n'est pas retourné. J'ai beaucoup lu sur le sujet et tenté plusieurs solutions sans succès alors je me retourne vers vous...

Dans ma page principale j'appelle mes pages de cette facon:
<div style="position:absolute; z-index:5; vertical-align:top" align="left" id="test">
<script language="JavaScript" type="text/javascript">
  if(loadpagetype == 1){   
    load_page('?esthetique_information');
  }
  if(loadpagetype == 2){   
    load_page('?esthetique_galerie');
  }
  if(loadpagetype == 3){   
    load_page('?esthetique_prix');
  }
</script>
</div>

Ceci fonctionne très bien quand il n'y a pas de javascript dans mon contenu.

Mon contenu avec javascript est:
<p>
<script src="http://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject.js" type="text/javascript">//swfobject plugin</script>
<script type="text/javascript">
/*<![CDATA[*/
/* FCK swfobject v1.5 */
document.write('<div id="flash2009317183619" style="width:320px; height:175px;"><a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player<\/a> to see this player.<\/div>');
var params={};
var attributes={};
var flashvars = {};
    params["scale"]="showall";
    params["play"]="true";
    params["menu"]="true";
    params["loop"]="true";
    params["allowfullscreen"]="false";
    params["wmode"]="transparent";
    attributes["id"]="testswf";
    attributes["title"]="testswf";
swfobject.embedSWF("http://localhost/cpanel/editor/userfiles/flash/VIDEO.swf", "flash2009317183619", 320, 175, "7.0.0", false, flashvars, params, attributes);
/*]]>*/
</script></p>

Pour l'instant j'en sui a ceci dans mon fichier ajax:
/*************************************************
    Fonction de definition de l'object xhr
**************************************************/
function new_xhr(){
    var xhr_object = null;
    if(window.XMLHttpRequest) // Firefox et autres
       xhr_object = new XMLHttpRequest();
    else if(window.ActiveXObject){ // Internet Explorer
       try {
                xhr_object = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
            }
    }
    else { // XMLHttpRequest non supporté par le navigateur
       alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
       xhr_object = false;
    }
    return xhr_object;
}

/*****************************************************
    Fonction qui va recharger le contenu
******************************************************/


function load_page(select) {
    var xhr2 = new_xhr();//On crée un nouvel objet XMLHttpRequest
   xhr2.onreadystatechange = function(){
       if ( xhr2.readyState == 4 ){//Actions executées une fois le chargement fini
         if(xhr2.status  != 200){//Message si il se preoduit une erreur
              document.getElementById("test").innerHTML = "Erreur code " + xhr2.status;
            } else {//On met le contenu du fichier externe dans la div "test"
              document.getElementById("test").innerHTML = xhr2.responseText;
          }
       } else {//Message affiché pendant le chargement
         document.getElementById("test").innerHTML = "Chargement en cours ...<br /><img src='./images/images/loading.gif' alt=''/>";
     }
   }
   xhr2.open("GET", select.split('?')[1]+".php", true);//Appel du fichier externe
 xhr2.send(null);
}

J'ai vue que je dois utiliser eval et getelementbytagname('script') mais je c pas du tout comment l'implementer pour mon code a moi.

Merci de m'aider ..

samedi 18 avril 2009 à 14:20:45 | Re : Ajax - Contenu avec javascript swf et googlemap (fckeditor)

Bul3

Membre Club
bonjour,
enleve les javascript des pages appelées avec ajax
et met les dans ta page principale.... plus  de souci.
@+

samedi 18 avril 2009 à 14:28:54 | Re : Ajax - Contenu avec javascript swf et googlemap (fckeditor)

Bul3

Membre Club
exemple.....

 1ère approche : ajax retourne une page html avec du javascript

demo.htm

<html>
   <body>
      demo.htm
      <div  style=" width:80%;
                         height:50%"
              id="txt"></div>
      <script>
         var xml = new XMLHttpRequest();
         xml.open("get","demo.php", false);
         xml.send("");
         var d=document.getElementById("txt");
         d.innerHTML=xml.responseText;
         eval(d.getElementsByTagName('script')[0].text);
      </script>
   </body>
</html>

demo.php

<html>
   <body>
      <script type='text/javascript'>
         alert("demo");
      </script>
      <?php echo Date('l j F Y');   ?>
   </body>
</html>




 2ème approche : ajax retourne uniquement des données

demo.htm 

<html>
   <body>
      demo.htm
      <div  style=" width:80%;
                         height:50%"
              id="txt"></div>
      <script>
         function appel()
         {   alert("demo");   }
         var xml = new XMLHttpRequest();
         xml.open("get","demo.php", false);
         xml.send("");
         document.getElementById("txt").innerHTML =
                                           xml.responseText;
         appel();
      </script>
   </body>
</html>

demo.php

<?php echo Date('l j F Y');   ?>


samedi 18 avril 2009 à 14:39:01 | Re : Ajax - Contenu avec javascript swf et googlemap (fckeditor)

oeann

Bonjour, merci de ta réponse j'y ai pensé mais vue que mon outil est quand meme compliqué ... je crois pas savoir ce que je pourrais faire pour garder mes données intactes.

Car avec fckeditor, je sauvegarde mes infos avec un script php qui enregistre dans un fichier texte. Par la suite dans mon code tu vois : load_page('?esthetique_prix');

dans cette pas il y a des tableau dans la cellule de gauche c'est du texte de ma sauvegarde fck et dans la partie droite un autre texte fck..

Alors si je met du texte et par exemple une anim flash, dans ma cellule de gauche... et que je fais ta solution je ne saurais plus ou intégrer mon anim... me semble..

Je voudrais vous mettre des images mais comment je fais si je peux pasles uploader?

merci de continuer de m'aider...



samedi 18 avril 2009 à 14:46:45 | Re : Ajax - Contenu avec javascript swf et googlemap (fckeditor)

Bul3

Membre Club
c'est comme tu le sens...
cependant : fckeditor n'a rien à voir avec du javascript appelé avec ajax !
                dans tout ce que tu me cites, pas de javascript qui pointerait le bout de son nez....
                mettre des fonctions dans une page ou une autre c'est la même chose
                     sauf que si c'est dans la page qui appelle : plus de souci !
néanmoins, dans 1er demo.htm de mon exemple, on fait s'exécuter
du javascript rapatrié avec ajax ( uniquement pour montrer
que c'est totalement inutile ! mais ça le fait ;o))

samedi 18 avril 2009 à 15:49:32 | Re : Ajax - Contenu avec javascript swf et googlemap (fckeditor)

oeann

j'avais pas vue ton exemple avant de répondre.. désolé..

concernant ton code qui est très bien monté en passant..j'ai tout de mêmedes interrogation est-ce que je dois quand meme servir de mon fichier ajax.js?

sinon si je le fait direct dans mon page esthetique.php si je fais ce qui suis pour une liste de prixpar exemple est-ce que c correct:

lecture du fichier texte
<?php
    $filename = '../cpanel/gestion/scripts/esthetique/general_pages.txt';
    if (!$handle = fopen($filename, 'r')) {
        echo "$sValue=File did not load.";
        exit;
    }
           
    $data = file_get_contents ($filename);
    $sValue = str_replace('&sValue=', '', $data);
    $sValue = stripslashes($sValue);
    $sValue = utf8_encode($sValue);
           
    $sValue = str_replace('&sValue=', '', $sValue);
    $sValue = str_replace('&sType=', '', $sValue);   
       
    $domain = strstr($sValue, 'script');
   
?>

<div style="position:absolute; z-index:5; vertical-align:top" align="left" id="test">
<script language="JavaScript" type="text/javascript">
  if(loadpagetype == 1){   
    load_page('?esthetique_information');
  }
  if(loadpagetype == 2){   
    load_page('?esthetique_galerie');
  }
  if(loadpagetype == 3){   
    var content = "<?php echo $domain; ?>";
    if(content == ""){
       function appel()
         {  
         var xml = new XMLHttpRequest();
         xml.open("get","esthetique_prix.php", false);
         xml.send("");
         document.getElementById("test").innerHTML =
                                           xml.responseText;
        
}
         appel();
     }else{
       var xml = new XMLHttpRequest();
         xml.open("get","esthetique_prix.php", false);
         xml.send("");
         var d=document.getElementById("test");
         d.innerHTML=xml.responseText;
         eval(d.getElementsByTagName('script')[0].text);
      }

  }
</script>
</div>

Est-ce que ca pourrat marché comnme ca?

merci encore j'apprécie énomément ton aide..

samedi 18 avril 2009 à 16:02:30 | Re : Ajax - Contenu avec javascript swf et googlemap (fckeditor)

oeann

c encore moi j'ai fait un test simple comme ceci avec une page d'info seulement mais ca me donne une erreur...

le code:
<?php
    $filename = '../cpanel/gestion/scripts/esthetique/general_pages.txt';
    if (!$handle = fopen($filename, 'r')) {
        echo "$sValue=File did not load.";
        exit;
    }
           
    $data = file_get_contents ($filename);
    $sValue = str_replace('&sValue=', '', $data);
    $sValue = stripslashes($sValue);
    $sValue = utf8_encode($sValue);
           
    $sValue = str_replace('&sValue=', '', $sValue);
    $sValue = str_replace('&sType=', '', $sValue);   
    $sDataSplit = split(";;",$sValue);
    $sDataType = $sDataSplit[1];
    $sDataContent = $sDataSplit[0];   
       
    $domain = strstr($sValue, 'script');
   

if ($sDataType == "Information"){
        echo "<script language=\"JavaScript\">\n";
        echo "loadpagetype = 1;\n";
        echo "</script>";
}
?>

<div style="position:absolute; z-index:5; vertical-align:top" align="left" id="test">
</div>
<script language="JavaScript" type="text/javascript">
  if(loadpagetype == 1){  
    var content = "<?php echo $domain; ?>";
    if(content == ""){
       function appel()
         { 
         var xml = new XMLHttpRequest();
         xml.open("get","esthetique_information.php", false);
         xml.send("");
         document.getElementById("test").innerHTML =
                                           xml.responseText;
         }
         appel();
     }
  }
 
</script>

l'erreur:
'document.getElementById(...)' a la valeur Null ou n'est pas un objet.  esthetiquetest.php, Ligne 14 Caractère 10


merci encore...
samedi 18 avril 2009 à 16:13:36 | Re : Ajax - Contenu avec javascript swf et googlemap (fckeditor)

oeann

bon c'était de ma faute j'avais pas mis mes balses html..

ca fonctionne ton code pour les données sans script.. mais avec une balse script pour mon swf ca me donne encore une erreur swfobject..

'swfobject' est indéfini.  esthetiquetest.php, Ligne 35 Caractère 1

le script est:

<script language="JavaScript" type="text/javascript">
  if(loadpagetype == 1){  
    var content = "script src="http://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject.js" type="text/javascript">//swfobject plugin</script>
<script type="text/javascript">
/*<![CDATA[*/
/* FCK swfobject v1.5 */
document.write('<div id="flash2009317183619" style="width:320px; height:175px;"><a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player</a> to see this player.</div>');
var params={};
var attributes={};
var flashvars = {};
    params["scale"]="showall";
    params["play"]="true";
    params["menu"]="true";
    params["loop"]="true";
    params["allowfullscreen"]="false";
    params["wmode"]="transparent";
    attributes["id"]="testswf";
    attributes["title"]="testswf";
swfobject.embedSWF("http://localhost/BeauteIntegrale/cpanel/editor/userfiles/flash/VIDEO.swf", "flash2009317183619", 320, 175, "7.0.0", false, flashvars, params, attributes);
/*]]>*/
</script>


encore et encore merci...


samedi 18 avril 2009 à 16:15:54 | Re : Ajax - Contenu avec javascript swf et googlemap (fckeditor)

Bul3

Membre Club

je ne t'ai donné qu'un exemple d'appel ajax
    ( en synchrone pour "simplifier" le script ! )
à priori adapte plutôt ton .js
quand le php a répondu tu peux gérer le retour

si tu tiens à tout prix
à rapatrier du javascript avec ajax
    foultitude de méthodes,
    celle montrée ici met le retour du php dans un div caché
    et fais un eval de ce qu'il y a dans la balise <script>
         var d=document.getElementById("txt");
         d.innerHTML=xml.responseText;
         eval(d.getElementsByTagName('script')[0].text);
   perso je collerais ce script dans la page principale...
        mais chacun fait comme il veut.

pas les moyens de tester ton php,
ne serait-ce que parce que je n'ai pas le fichier que tu traites !
je ne peux donc pas te dire, à l'½il, comme ça, si ça baigne,
@+

samedi 18 avril 2009 à 16:44:26 | Re : Ajax - Contenu avec javascript swf et googlemap (fckeditor)

oeann

j'ai essayé de faire passer juste le premier script pour l'appel a google.

<script src="http://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject.js" type="text/javascript">//swfobject plugin</script>

avec:
<?php
    $filename = '../cpanel/gestion/scripts/esthetique/general_page2.txt';
    if (!$handle = fopen($filename, 'r')) {
        echo "$sValue=File did not load.";
        exit;
    }
           
    $data = file_get_contents ($filename);
    $sValue = str_replace('&sValue=', '', $data);
    $sValue = stripslashes($sValue);
    $sValue = utf8_encode($sValue);
           
    $sValue = str_replace('&sValue=', '', $sValue);
    $sValue = str_replace('&sType=', '', $sValue);   
    $sDataSplit = split(";;",$sValue);
    $sDataType = $sDataSplit[1];
    $sDataContent = $sDataSplit[0];   
       
    $domain = strstr($sDataContent, 'script');
    $domain = str_replace('"', '\"', $domain);   
   

if ($sDataType == "Information"){
        echo "<script language=\"JavaScript\">\n";
        echo "loadpagetype = 2;\n";
        echo "</script>";
}
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link href="styles.css" rel="stylesheet" type="text/css" />
</head>

<body>
<table width="1024" border="0" align="center" >
<tr>
<td height="768" valign="top">

<div style="position:absolute; z-index:5; vertical-align:top" align="left" id="test">
</div>
<script language="JavaScript" type="text/javascript">
 
 
  if(loadpagetype == 2){  
    var content = "<?php echo $domain; ?>";
    if(content != ""){
         var xml = new XMLHttpRequest();
         xml.open("get","esthetique_prix2.php", false);
         xml.send("");
         var d=document.getElementById("test");
         d.innerHTML=xml.responseText;
         eval(d.getElementsByTagName('script')[0].text);
     }
  }
 
</script>
</td>
</tr>
</table>
</body>

et j'ai encore une erreur:
Parse error: parse error in C:\wamp\www\website\esthetiquetest.php on line 56





1 2 3

Cette discussion est classée dans : contenu, params, xhr, if, xhr2


Répondre à ce message

Sujets en rapport avec ce message

XMLHttpRequest [ par softghost ] bonjour tous le monde;j'utilise xmlhttprequest pour l'envoi de requet entre les page en restand sur index avec un il marche tres bien, a mon cas j'ape Probleme AJAX + JS [ par boulika ] Bonjour à tous,je débute en ajax et je viens de rencontrer quelques problèmes.Je viens de récupérer une fonction JS pour appeler une page php dans un Envoi de donnée [ par coolboy78 ] Bonjour,je debute en ajax, j'aimerai, lorsque mon utilisateur quitte ma page, faire un update dans ma base.Comment faire ?j'ai débuté avec ca :functio asynchrone [ par nicomilville ] voici mon code :var xhr_object = null;if(window.XMLHttpRequest)xhr_object = new XMLHttpRequest();else if(window.ActiveXobject)xhr_object = new ActiveX synchroniser une requete ajax asynchrone [ par AlexN ] Bonjour,Je cherche à synchroniser une requete ajax asynchrone. Et je prend une grosse suée.Je fais appel de manière cyclique à une requete ajax en mod Vérification de doublons [ par eddie5150 ] Bonjour à tous,je viens de me lancer dans AJAX, mais je ne comprends pas encore tout très bien,aussi j'ai essayé d'effectuer une vérification automati Encore des erreurs ! [ par nicomilville ] Salut,Et oui, c'est encore moi, vous devez vous dire que je suis un nul, c'est peut être vrai, lol J'ai encore des erreurs sur mon code... Si ça co settimeout [ par nicomilville ] pouvez vous me dire ou est l'erreur dans ce code svp, il semblerait que l'erreur soit a la ligne rouge :    setTimeout(actualisation(), 10);  function Problème onkeyup [ par Le grand Jisay ] Bonjour à tous !Voici quelques jours que je suis bloqué sur un problème concernant l'événement onkeyup. Tout se passe bien sous FireFox mais sous Inte Problème pour crer une classe pour faire de l'ajax...pleaseHELP !!! [ par diversjms ] Bonjour à tous et merci de me lire !!Afin de faire de l'ajax propement je souhaite créer tous d'abord  une classe pour faire de simple requete asyncrh


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,430 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales