Ajax - Contenu avec javascript swf et googlemap (fckeditor)

Signaler
Messages postés
21
Date d'inscription
dimanche 12 novembre 2006
Statut
Membre
Dernière intervention
19 juillet 2009
-
Messages postés
21
Date d'inscription
dimanche 12 novembre 2006
Statut
Membre
Dernière intervention
19 juillet 2009
-
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:

<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>

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

Mon contenu avec javascript est:

<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('
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>

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 ...
";
     }
   }
   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 ..

23 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
bonjour,
enleve les javascript des pages appelées avec ajax
et met les dans ta page principale.... plus  de souci.
@+
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
exemple.....

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

<html>
  
      demo.htm
     

      <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>
  
</html>

demo.php

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

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

<html>
  
      demo.htm
     

      <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>
  
</html>

demo.php

<?php echo Date('l j F Y');   ?>
Messages postés
21
Date d'inscription
dimanche 12 novembre 2006
Statut
Membre
Dernière intervention
19 juillet 2009

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...
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
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))
Messages postés
21
Date d'inscription
dimanche 12 novembre 2006
Statut
Membre
Dernière intervention
19 juillet 2009

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');
   
?>

<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>

Est-ce que ca pourrat marché comnme ca?

merci encore j'apprécie énomément ton aide..
Messages postés
21
Date d'inscription
dimanche 12 novembre 2006
Statut
Membre
Dernière intervention
19 juillet 2009

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>";
}
?>

<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...
Messages postés
21
Date d'inscription
dimanche 12 novembre 2006
Statut
Membre
Dernière intervention
19 juillet 2009

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('
Get the Flash Player to see this player.
');
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...
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
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,

@+
Messages postés
21
Date d'inscription
dimanche 12 novembre 2006
Statut
Membre
Dernière intervention
19 juillet 2009

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>

<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>

et j'ai encore une erreur:
Parse error: parse error in
C:\wamp\www\website\esthetiquetest.php on line
56
Messages postés
21
Date d'inscription
dimanche 12 novembre 2006
Statut
Membre
Dernière intervention
19 juillet 2009

tu est bien gentil.. est-ce que je pourrais t'envoyer par email les 3 fichiers requis? j'ai essayer par mp mais on peux pas mettre de fichier...

merci
Messages postés
21
Date d'inscription
dimanche 12 novembre 2006
Statut
Membre
Dernière intervention
19 juillet 2009

jepense que je c d'ou viens le probleme mais je c pas trop comment regler ca..

<script language= "JavaScript" type="text/javascript">
 
 
  if(loadpagetype == 2){  
     var content = "script src="http://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject.js" type="text/javascript"></script>
<script type ="text/javascript">
/*<![CDATA[*/
/* FCK swfobject v1.5 */
document.write('
Get the Flash Player to see this player.
');
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>

";
    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>

la partie en gras ca me genere l'erreur:
Constante chaîne non terminée  esthetiquetest.php, Ligne 23 Caractère 124

pkoi le script comment pas par <script  dans var content ="script

je crois que le probleme vient de la car c comme si je devrais refermer avec " a la fin de cette ligne..
Messages postés
21
Date d'inscription
dimanche 12 novembre 2006
Statut
Membre
Dernière intervention
19 juillet 2009

rebonjour,

je n'ai plus d'erreur dans mon script mais rien ne s'affiche.....

le output de ie donne:

<script language= "JavaScript" type="text/javascript">
 
 
  if(loadpagetype == 2){  
    var content = "lt;/script src=\'http://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject.js\' type=\'text/javascript\'&gt;&lt;/script&gt;\\n&lt;script type=\'text/javascript\'&gt;\\n/*&lt;![CDATA[*/\\n/* FCK swfobject v1.5 */\\ndocument.write(\'&lt;div id=\'flash2009317183619\' style=\'width:320px; height:175px;\'&gt;&lt;a href=\'http://www.macromedia.com/go/getflashplayer\'&gt;Get the Flash Player&lt;/a&gt; to see this player.&lt;/div&gt;\');\\nvar params={};\\nvar attributes={};\\nvar flashvars = {};\\n    params[\'scale\']=\'showall\';\\n    params[\'play\']=\'true\';\\n    params[\'menu\']=\'true\';\\n    params[\'loop\']=\'true\';\\n    params[\'allowfullscreen\']=\'false\';\\n    params[\'wmode\']=\'transparent\';\\n    attributes[\'id\']=\'testswf\';\\n    attributes[\'title\']=\'testswf\';\\nswfobject.embedSWF(\'http://localhost/BeauteIntegrale/cpanel/editor/userfiles/flash/VIDEO.swf\', \'flash2009317183619\', 320, 175, \'7.0.0\', false, flashvars, params, attributes);\\n/*]]&gt;*/\\n&lt;/script&gt;&lt;/p&gt;";
    if(content ! = ""){
         var xml = new XMLHttpRequest();
         xml.open("get","esthetique_prix2.php", false);
         xml.send("");
       
       
       
        var mesScripts = document.getElementById("test").getElementsByTagName("script");
        for (var i=0; i<mesScripts.length; i++) {
        eval(mesScripts[i].innerHTML);
        }
     }
  }
 
</script>

est-ce que c bien encoder comme sortie de ma variable php?
Messages postés
21
Date d'inscription
dimanche 12 novembre 2006
Statut
Membre
Dernière intervention
19 juillet 2009

j'ai remis ca:

         var d=document.getElementById("test");
         d.innerHTML=xml.responseText;
         eval(d.getElementsByTagName('script')[0].text);

au lieu de

var mesScripts = document.getElementById("test").getElementsByTagName("script");
        for (var i=0; i<mesScripts.length; i++) {
        eval(mesScripts[i].innerHTML);

et le texte s'affiche mais pas le swf......................

est-ce qu'il traite juste mon premier script et non celui contenant le swf?
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
>>est-ce qu'il traite juste mon premier script
ce qu'il y a dans la 1ère balise <script>....</script>
puisque eval(d.getElementsByTagName('script')[0].text);

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

oulah.... là aussi ça fait peur....
et si c'est pour un swf, une simple balise html suffit !!!!!
et je vois : document.write(\'&lt;div... ????
tu vas exécuter cela dans le retour d'ajax ?
ça va effacer toute ta page !! y compris le javascript !
tu tecompliques le vie, bien inutilement à mon avis

@+
Messages postés
21
Date d'inscription
dimanche 12 novembre 2006
Statut
Membre
Dernière intervention
19 juillet 2009

vous aller me trouver "tannante" mais d'une maniere ou d'une autre ca m'aide a en parlant.. bon finalement je fais ca:

<?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("\r",'',$domain); // pas de retour chariot
    $domain = str_replace("\n",'\n',$domain); // on transforme le caractère retour de ligne en \n
    $domain = str_replace('"', '\'', $domain);   
   

if ($sDataType == "Liste de prix"){
        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>
 

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

<script language="JavaScript" type="text/javascript">
 
 
  if(loadpagetype == 2){  
    var content = "lt;script src=\'http://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject.js\' type=\'text/javascript\'&gt;&lt;/script&gt;\\n&lt;script type=\'text/javascript\'&gt;\\n/*&lt;![CDATA[*/\\n/* FCK swfobject v1.5 */\\ndocument.write(\'&lt;div id=\'flash2009317183619\' style=\'width:320px; height:175px;\'&gt;&lt;a href=\'http://www.macromedia.com/go/getflashplayer\'&gt;Get the Flash Player&lt;/a&gt; to see this player.&lt;/div&gt;\');\\nvar params={};\\nvar attributes={};\\nvar flashvars = {};\\n    params[\'scale\']=\'showall\';\\n    params[\'play\']=\'true\';\\n    params[\'menu\']=\'true\';\\n    params[\'loop\']=\'true\';\\n    params[\'allowfullscreen\']=\'false\';\\n    params[\'wmode\']=\'transparent\';\\n    attributes[\'id\']=\'testswf\';\\n    attributes[\'title\']=\'testswf\';\\nswfobject.embedSWF(\'http://localhost/BeauteIntegrale/cpanel/editor/userfiles/flash/VIDEO.swf\', \'flash2009317183619\', 320, 175, \'7.0.0\', false, flashvars, params, attributes);\\n/*]]&gt;*/\\n&lt;/script&gt;&lt;/p&gt;";
    if(content != ""){
         var xml = new XMLHttpRequest();
         xml.open("get","esthetique_prix2.php", false);
         xml.send("");
       
         var d=document.getElementById("test");
         d.innerHTML=xml.responseText;
         var mesScripts = d.getElementsByTagName("script");
         alert (mesScripts.length);
         for (var i=0; i<mesScripts.length; i++) {
            eval(mesScripts[i].innerHTML);
        }
     }
  }
 
</script>

ca m'affche mon texte mais j'ai 2 erreurs:

  '}' attendu  esthetiquetest2.php, Ligne 38 Caractère 1
  'swfobject' est indéfini.  eval code, Ligne 17 Caractère 1
Messages postés
21
Date d'inscription
dimanche 12 novembre 2006
Statut
Membre
Dernière intervention
19 juillet 2009

oups j'avais pas vue ta réponse..

mais comme je te disais plus haut c'est FCKeditor qui genere le code du swf que je veux integrer....

de la mon probleme et c'est la meme chose pour google map...
Messages postés
21
Date d'inscription
dimanche 12 novembre 2006
Statut
Membre
Dernière intervention
19 juillet 2009

bon j'ai finalement réussi à afficher mon swf sii ca peux aider qqun voici le code:

<?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("\r",'',$domain); // pas de retour chariot
    $domain = str_replace("\n",'\n',$domain); // on transforme le caractère retour de ligne en \n
    $domain = str_replace('"', '\'', $domain);   
    $domain = str_replace('<', '&lt;', $domain);   
    $domain = str_replace('>', '&lt;/', $domain);   
   

if ($sDataType == "Liste de prix"){
        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" />
    <script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
    <script type="text/javascript" src="ajax2.js"></script>
    <link href="styles.css" rel="stylesheet" type="text/css" />
    <script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
     <script src="http://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject.js">//swfobject plugin</script>
</head>
 

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

<script language="JavaScript" type="text/javascript">
 
 
  if(loadpagetype == 2){  
    var content = "&lt;" + "<?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;
         var mesScripts = d.getElementsByTagName("script");
         alert (mesScripts.length);
         for (var i=0; i<mesScripts.length; i++) {
            eval(mesScripts[i].innerHTML);
        }
     }
  }
 
</script>
 
il me reste juste un petit détail à faire afficher c'est que mon swf ne se format pas de la bonne façon, il s'aligne en haut et ignore le

mais je travaille la dessus...

merci
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
navré, pour toi, de n'avoir pas pu te convaincre de ne pas faire ça comme ça
je n'ai probablement pas du employer les bons arguments....
Messages postés
21
Date d'inscription
dimanche 12 novembre 2006
Statut
Membre
Dernière intervention
19 juillet 2009

hm... je crois que tu m'a convaincu finalement ;)

je me rends bien compte que je reste avec un gros probleme que je ne suis pas capable de regler... je suis prete a t'écouter :)

je trouvais ma maniere pas pire mais l'anim s'affiche mais le write se fait mais se positionne a la fin de tout... sans que je puisse en trouver la solution....

POURRAIS-tu m'expliiquer ta solution?

merci et je t'écoute cette fois... on apprends de ces erreur....
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
concevoir autrement.

un script php appelé avec ajax ne devrait retourner que des données
    qui seront exploités, surtout pas une page html, et encore moins avec du
    javascript dedans ( ou alors utilise la méthode traditionnelle
    formulaire et relations javascript/php )
    met le html/javascript.... de ta page appelée dans ta page appelante !
    tu évites beaucoup de problèmes, de code...

je ne peux que te redonner qu'un exemple ( basique, mais c'est pour la compréhension ) !

retourner du Javascript |retourner des Données |----
------------------------------ index.htm ------------------------------ |----
<textarea border= "0" rows="12" cols="48"><html>

<script>
var xml = new XMLHttpRequest();
xml.open( "get", "ajax.php", false);
xml.send("");
var d=document.getElementById("txt");
d.innerHTML=xml.responseText;
eval(d.getElementsByTagName('script')[0].text);
</script>

</html> </textarea>, <textarea border="0" rows="9" cols="38"><html>

<script>
var xml = new XMLHttpRequest();
xml.open( "get", "ajax.php", false);
xml.send("");
alert(xml.responseText);
</script>

</html></textarea>, ----
------------------------------ ajax.php ------------------------------ |----
<textarea border ="0" rows="6" cols="48"><html>

<script>
alert("<?php echo Date('l j F Y'); ?>");
</script>

</html></textarea>, <textarea border="0" rows="1" cols="38"><?php echo Date('l j F Y'); ?></textarea>

c'est possible de faire ce que tu veux comme tu le veux,
mais ce n'est pas simple, c'est généralement inutile, ça pose des soucis
     de mise au point,  de maintenance....
ou alors.... utilises l'un de ces fameux framework qui tous le permettent
(  ben zut alors, je ne pensais jamais dire cela ! )
mais à mon humble avis, qui n'est pas partagé par tous !, le remède est
pire que le mal ( je me rattrape ! )