Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec Opera et Ajax

    25 avril 2009 à 21:56:54

    Bonjour,
    Je travaille présentement sur un site que mon client veut blanchit au ajax. (sans vouloir faire de mauvais jeu de mots ;) )

    Le site marche bien sur Firefox, Iexplorer et safari, mais Opera me résiste.
    Voici un résumé de la situation :

    La page index.php appelle une section par le biais d'un fichier section.php. La page section.php appelle à son tour différentes sous-sections.php

    Pour que les sous-sections chargent automatiquement, la page section.php affiche en plus de son contenu une image de 1 pixel invisible munis d'un onload.

    <img src="1pixel.jpg" alt="" class="invisible" onload="ouvre('sous_section1','dans_div_a');ouvre('sous_section2','dans_div_b') ;" />
    


    Comme je disais, ça marche bien et mes sections ouvrent gentiment sauf sur Opera.
    Ma fonction "ouvre('nom_page_php','id_section') " n'est pas en cause vue que c’est elle qui charge aussi "section.php" au début.

    J'ai tendance à en déduire que Opera de fait pas les onload sur une balise d'image. Bon… Y a-t-il une alternative ?

    @+, Phil.
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      25 avril 2009 à 22:13:13

      j'ai envie de dire : ne pas utiliser la technologie des années 90 ?

      Sérieusement, pourquoi tu ne met pas ton évènement au window.onload au lieu d'utiliser un magnifique spacer ?

      Je parie 100 balles (on est dans les années 90 hein) que .invisible c'est "display:none". Opéra c'est un peu l'intello chez les navigateurs, si c'est en display:none, il ne le chargera même pas ce qui est diablement logique.
      • Partager sur Facebook
      • Partager sur Twitter
        25 avril 2009 à 22:19:03

        Donc tu peux mettre une image totalement transparente placée en absolu... mais sans display:none;
        J'ai quelques questions :
        • Pourquoi tu fais pas tout directement en PHP avec des includes ?
        • Tu affiches comment pour ceux qui n'ont pas le javascript ?
        • Partager sur Facebook
        • Partager sur Twitter
          25 avril 2009 à 22:46:34

          nod_ :
          En effet c'est bien un "display:none".

          J'utilise une class car c'est moins long à écrire. (Je suis paresseux, je le sais) Surtout qu'elle sert souvent. On clique sur une image, une section devient visible et une autre invisible... (le ajax, c'est pour les section plus dynamiques comme le forum...) Puis pour savoir si une section est visible (étrangement j'en ai eu besoins), c'est là que c'est amusant :

          if(document.getElementById("id_section").className == "visible")
          


          xavierm02 :
          Normalement, je travail avec des includes, mais là mon client est un peut tordu... Il ne veut pas que la page recharge. De là l'utilisation de AJAX. Comme on dit, le client est roi.

          Pour ce qui est de Javascript, comme l'a dit nod : "on est pas en 90" ;) la plupart des sites ont du JavaScript.

          L'idée d'une image visible en gif transparent n'est pas trop mauvaise même si ça fait "broche à fouin"
          • Partager sur Facebook
          • Partager sur Twitter
            25 avril 2009 à 23:18:35

            Il te parle de l'image transparente pour les 90s

            Après, normalement, un site se fait entièrement en PHP et on rajoute les fonctions Ajax pour ceux qui ont le javascript après pour éviter de recharger la page...
            Et de toute façon, la premier page s'affiche sans Ajax...
            • Partager sur Facebook
            • Partager sur Twitter

            Problème avec Opera et Ajax

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown