Prob: afficher vidéo Youtube sur 1site (IE)

Résolu/Fermé
Loosey_92 Messages postés 3 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 19 juillet 2007 - 18 juil. 2007 à 11:40
Loosey_92 Messages postés 3 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 19 juillet 2007 - 19 juil. 2007 à 09:49
Bonjour.

Voilà j'ai un petit souci d'affichage d'une vidéo Youtube sur le site sur lequel je travaille.

Sous FF, l'affichage est niquel, la vidéo apparaît comme il faut au clic d'un lien. Je la fais apparaître au centre de la page web,avec en dessous un voile grisé, qui recouvre tout la page web le temps de la lecture de la vidéo. Pour fermer la vidéo et revenir à la page web, on clique sur la partie grisée n'importe où, et hop ça disparait.

Le probème est que sous IE, la vidéo apparait bien, mais elle est complètement décentrée. Le voile lui pose
aussi des problèmes selon la version de IE, mais pas tout le temps: des fois il recouvre bien toute la page, des fois pas ( pourtant width et height sont à 100%), on a l'impression qu'il est décalé aussi.

J'utilise la taille de la fenêtre pour pouvoir la centrer, et en récupérant les valeurs et en les affichant avec un alert,
j'ai des valeurs cohérentes, que je sois sous IE ou FF.

Donc voilà, je ne sais pas d'où ça peut venir.


Je rajoute le code de ce passage là concernant la vidéo :



<script>

// Fonction qui affiche la vidéo ainsi que le voile grisé

var backdiv;

showYoutube = function( video_num, video_url, video_height, video_width )
{

        var myWidth = 0, myHeight = 0;
        if( typeof( window.innerWidth ) == 'number' ) {
                //Non-IE
                myWidth = window.innerWidth;
                myHeight = window.innerHeight;
        }
        else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
                //IE 6+ in 'standards compliant mode'
                myWidth = document.documentElement.clientWidth;
                myHeight = document.documentElement.clientHeight;
        }
        else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
                //IE 4 compatible
                myWidth = document.body.clientWidth;
                myHeight = document.body.clientHeight;
        }
        window.alert( myWidth + ' x ' + myHeight );

        bod = document.getElementsByTagName('body')[0];

        backdiv = document.createElement('div');
        youtubediv = document.createElement('div');

        video_top = (myHeight - video_height) /2;
        video_left = (myWidth - video_width) /2;

        alert('video_top = ' + video_top + ' and video_left = ' + video_left);

        Element.extend(backdiv);
        Element.extend(youtubediv);
        backdiv.addClassName('backgd');
        backdiv.hide();

        // insert it in the document
        bod.appendChild(backdiv);
        bod.appendChild(youtubediv);


        backdiv.setStyle({backgroundColor:'black','position':'absolute',top:'0',left:'0',width:'100%',height:'100%',opacity:0.4,'z-index':'5000'}).hide();
        youtube=$("youtube"+video_num);
        youtube='<object style="position:absolute;z-index:5001;text-align:center;top:'+video_top+'px;left:'+video_left+'px"; width='+video_width+' height='+video_height+'>                 <param name="movie" value='+video_url+'></param>                 <param name="wmode" value="transparent"></param>                 <embed src='+video_url+' type="application/x-shockwave-flash" wmode="transparent" width='+video_width+' height='+video_height+'></embed>
                </object>';
        youtubediv.innerHTML=youtube;
        backdiv.onclick = hideYoutube;

        backdiv.show();
        youtubediv.show();
}

// Fonction qui sert à fermer la vidéo lorsque l'on clique sur le voile grisé

hideYoutube = function()
{
        backdiv.remove();
        youtubediv.remove();
}

// Ici c'est l'emplacement de l'affichage qui est mis en place

<td>
<?
        foreach ( $videos as $num => $tab ) {  // pour un tableau avec plusieurs vidéos éventuellement 
        ?>
                <a style='position:absolute;color:#FF9933;text-decoration:none;' href=""    onclick="showYoutube('<?=$num?>','<?=$tab[0]?>','<?=$tab[1]?>','<?=$tab[2]?>'); return false;">
<img src='<?=$base_url?>img/<?=$lang?>/images2/2-societe/presse/presse_fl.png' width=34 height=15 style='margin:0 7px 5px 0;' align=absmiddle><?=$tab[3]?></a><br>

<?
     }
?>

</td>

</script>




Voilà, je sais pas si vous arriverez a comprendre quelque chose là dedans, merci d'avance à ceux qui auront lu,
je ne suis pas très forte dans ce domaine là, alors merci pour l'aide d'avance ^^


2 réponses

ViRUZ404 Messages postés 132 Date d'inscription samedi 14 juillet 2007 Statut Membre Dernière intervention 21 mars 2014 16
18 juil. 2007 à 11:55
Salut Loosey_92 ^^

Beh le problème c'est pas ta page ... mais c'est IE , tu sais bien qu'au niveau des standards du net IE n'occupe pas la 1ère place et le problème que tu rencontre en est la preuve ...

Bon si ça peut te rassurer sur l'un de mes site là je viens de vérifier les stats journalières
et ca donne :

93 visites sous "Mozilla/Firefox" qui représentent 88% des visites journalières
11 visites sous "Internet Explorer" qui représentent 10% des visites journalières
et le reste c'est "Autres..." ^^

En bref y a de moins en moins de gens qui ont le réflexe Internet Explorer
C'est une chance pour tous les sites qui tentent de respecter les standards ^^

Donc te tracas pas ^^
0
Loosey_92 Messages postés 3 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 19 juillet 2007
18 juil. 2007 à 12:03
Salut ViRUZ ^^

J'avais compris à plusieurs reprises en lisant dans des forums par ci par là que de toute façon ce prob
sous IE n'était pas vraiment résolvable comme je le souhaite :)

Par contre mon maître de stage lâche pas l'affaire, il faudrait soit que j'arrive à le convaincre de ça,
soit que je m'acharne à comprendre un truc qui m'a l'air ...incompréhensible.

En tout cas merci pour m'avoir rassurée :)

Si vraiment je trouve rien de toute façon, il faudra bien qu'on se dise que ça marche pas,
et on reviendra au bon vieux lien qui redirige vers Youtube directement ^

Merci bcp !

++
0
Loosey_92 Messages postés 3 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 19 juillet 2007
19 juil. 2007 à 09:49
Bon même si je suis d'accord avec le seul qui ait répondu pour l'instant,
je relance quand même mon appel au secours !

Si quelqu'un a une idée, s'il y a un oubli dans le code qu'il remarquerai, ou même si d'autres me confirment
que sous IE de toute façon, ça ne sera pas centré...toute réponse sera d'une grande aide !!

Merci d'avance ++


PS: AU SECOUUUUUUUUUUURS !!!!!!!!!!
0