Forums Développement Multimédia

Aller au contenu

Problème compatibilité swfObject et Ajax

CODE Ajax JQuery EaseJs

2 réponses à ce sujet

#1 Befa

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 68 messages

Posté 15 March 2007 - 13:15 PM

Bonjour,

je me sers de Ajax pour charger des sous parties dans mes pages.
J'utilise le framework de GodLikeouse pour la partie Ajax (http://www.godlikemouse.com/glm-ajax/).

Mais lorsque je charge une page qui contient un flash le script swfObject ne semble pas se lancer. Il m'indique que je n'ai pas la bonne version du flash player (alors que si je lance cette page sans passer par Ajax il n'y a aucun problème.

Aucune erreur JS à signaler. Rien. icon_confused.gif

Je vous indique les bouts de code que j'utilise :

CODE
<script language="javascript" type="text/javascript">
//// Définiton de l'objet AJAX
var ajax = new GLM.AJAX();

function ajaxCallback(content){
        document.getElementById('page').innerHTML = content;
}


function change_page(page, valeur) {
  var myPage=page+".php"+valeur;
  ajax.callPage(myPage, ajaxCallback);
  }
  
</script>



Et dans la page appelée :

CODE
<div id="picto_droite">
                    <font face="Verdana, sans-serif" size="2" style="font-size:11px" class="texte_gris" color="#ACB3BF">Vous ne poss&eacute;dez pas de flash Player, ou votre version est trop ancienne.<br />
                    Vous avez besoin de la version 8.0 minimum<br />
                    <a href=http://www.macromedia.com/go/getflash/ link="#fffff" vlink="#fffff">Obtenir Flash</a></font>
                </div>
                
                <script type="text/javascript">
                var so = new SWFObject("swf/anim_events.swf", "events", "378", "306", "8", "#000000", true);
                so.addParam("quality", "high");
                so.addParam("salign", "t");
                so.write("picto_droite");
                </script>


J'imagine que je ne dois pas être le premier à être confronté à ce problème donc soit il existe une solution, soit c'est moi qui fait quelque chose de travers.
Si quelqu'un a une idée je suis preneur.
merci smile.gif

#2 julnumberone

  • Members
  • PipPipPipPipPipPipPipPip
  • 1361 messages

Posté 15 March 2007 - 13:40 PM

Il y a certainement un conflit entre le js de la librairie et le js swfobject, essais de comparer les 2, voir si il n'utilise pas des fonctions nommé pareil,etc ...

#3 Befa

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 68 messages

Posté 15 March 2007 - 14:13 PM

Non non pas de noms de fonctions en commun.
J'utilisais même avant une autre manière de définir mon objet xmlhttp et le problème reste identique.

CODE
<script language="javascript" type="text/javascript">


function getHTTPObject() {
      var xmlhttp;
      /*@cc_on
      @if (@_jscript_version >= 5)
        try {
          xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
          } catch (e) {
          try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (E) {
            xmlhttp = false;
            }
          }
      @else
      xmlhttp = false;
      @end @*/
      if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        try {
          xmlhttp = new XMLHttpRequest();
          } catch (e) {
          xmlhttp = false;
          }
        }
      return xmlhttp;
}
var http = getHTTPObject();

function change_page(page, valeur) {
  http.open("GET", page+'.php'+valeur, true);
  http.onreadystatechange = handleHttpResponse;
  http.send(null);
  }


function handleHttpResponse() {
  if (http.readyState == 4) {
    results = http.responseText;
        document.getElementById('page').innerHTML = results;
    }
  }
</script>


En fait j'ai l'impression que tout code javascript est "désactivé" dans la page appelée.
Un simple
CODE
<script language="javascript">document.write('blabla');</script>


ne fonctionne même pas.

C'est grave docteur ?



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP