Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Affichage d'une image "dynamique"

Posted by scrasch on 07/07/2011 13:45

Bonjour,

Nous cherchons à afficher une bannière au format jpg qui se construit dynamiquement dans un page html. Pour cela, nous insérons l'adresse de la fonction suivante dans la source d'une image. Ça marche, mais le "echo" ne semble pas tout à fait adapté puisqu'il génère une notice. Comment peut on faire avec internet explorer proprement?

function banniere() {
<code>
        $rep = $this->getResponse('binary');
        $rep->mimeType = 'image/png';
        $rep->doDownload = false;

        jClasses::inc("moncompte~BannerService");
        $rep->content = BannerService::generateBanner();

        // FiX bug IE: n'affiche pas l'image
        if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'msie') !== false) {
            echo $rep->content;
        }
        // Fin Fix

        return $rep;
    }
</code>

Cordialement, Thomas

  [Opened] Affichage d'une image "dynamique"

Reply #1 Posted by laurentj on 07/07/2011 14:53

Bonjour,

non, tu ne dois jamais faire d'écho, c'est toujours l'objet réponse qui se charge d'envoyer ce qu'il faut au navigateur. Et par exemple là, avec ton echo, tu envoi n'importe quoi au navigateur, parce que tu lui envoi du contenu binaire, et la réponse va ensuite envoyer les entete http qu'il faut, et une deuxième fois le contenu binaire.

Bref, laisse faire l'objet réponse.

Et sinon, c'est quoi le problème avec cette merde de IE ? Et quelle version de IE ? tu as essayé de charger l'image seule dans le navigateur ? ça fonctionne bien dans les autres navigateurs ?

  [Opened] Affichage d'une image "dynamique"

Reply #2 Posted by scrasch on 07/07/2011 16:02

Alors, on teste avec IE7. Ça marche dans les autres navigateurs (Firefox) sans le "echo". C'est le même comportement quand on essaye de charger l'image seule dans le navigateur. Le problème avec IE7, c'est que lorsqu'on charge l'image dans le navigateur, l'image ne s'affiche pas et on a un blanc avec une croix rouge à la place. PS: ça ne marche pas non plus sous IE8, mais ça marche sous IE9 :p

 
Page
  1. Affichage d'une image "dynamique"