Problème de compatibilité d'un script sous IE

Fermé
bibi-arnaud - 28 juil. 2008 à 09:32
 wirus - 28 juil. 2008 à 14:41
Bonjour à tous,

voilà mon problème.

J'ai un script qui m'affiche un système de news défilante sur la page d'accueil du site.
Ces news, elles sont importés à partir de la base de données et insérées dynamiquement dans le script.
Ce script mélange le php et le javascript.

J'ai testé ce script et il fonctionne impeccablement sous Mozilla Firefox.
Par contre quand je le teste sous IE, comme d'habitude, ça ne fonctionne pas.

J'ai beau chercher je ne sais pas de quoi ça vient.

Je vous montre déjà le code :

[code]<div id="div_contenu_index">

<script language="javascript" type="text/javascript" src="scripts/add_load.js"></script>
<script language="javascript" type="text/javascript" src="scripts/imageslide_accueil.js"></script>
<script language="javascript" type="text/javascript" src="scripts/slide.js"></script>


<div id="info_accueil">
<div class="titre">
Toute l'équipe de ******** vous souhaite<br/> la bienvenue sur son site
</div>
<div id="contenu_accueil">
<b>******** en quelques mots....</b><br/><br/>
<b>Année de création :</b> 2004<br/>
<b>Effectif :</b> 2 graphistes<br/>
1 conseiller / commercial / graphiste<br/>
1 spécialiste du marquage<br/><br/>

<b>RÉFÉRENCES :</b>
<span id="reference_accueil">ICI SE TROUVENT DES REFERENCES CLIENTS !
</span>

</div>
</div>

<div id="actu_accueil">
<script language="javascript" type="text/javascript">
ejs_scroll_largeur = 265;
ejs_scroll_hauteur = 142;
ejs_scroll_bgcolor = '#FFFFFF';
/* Mettre ici le chemin de l'image de fond */
ejs_scroll_background = "";
/* Mettre ici le temps en secondes */
ejs_scroll_pause_seconde = 10;

function d(texte)
{
document.write(texte);
}

ejs_scroll_message = new Array;




d('<DIV ID=ejs_scroll_relativ STYLE="position:relative;width:'+ejs_scroll_largeur+';height:'+ejs_scroll_hauteur+';background-color:'+ejs_scroll_bgcolor+';background-image:url('+ejs_scroll_background+')">');
d('<DIV ID=ejs_scroll_cadre STYLE="position:absolute;width:'+(ejs_scroll_largeur-8)+';height:'+(ejs_scroll_hauteur-8)+';top:4;left:4;clip:rect(0 '+(ejs_scroll_largeur-8)+' '+(ejs_scroll_hauteur-8)+' 0)">');

<?php
$db = db_connect();
db_database();

$query = "SELECT * FROM krea_news";

$req = mysql_query($query)or die('erreur');

$nb_ligne = mysql_num_rows($req);

$id_mess = $nb_ligne-1;

for ($i=0; $i<=$id_mess; $i++)

{
$row = mysql_fetch_row($req);

$titre[$i] = $row[1];
$message[$i] = $row[2];
$lien[$i] = $row[3];
$photo[$i] = $row[4];


$mess[$i]=str_replace(array("\r\n", "\n", "\r" ), "<br />", $message[$i]);

?>
ejs_scroll_message[<?php echo $i;?>]=<?php echo '<a href="'.$lien[$i].'" target="blank" class="lien_actu"><b><i>'.$titre[$i].'</i></b><br/><br/>'.$mess[$i].'<br/></a>';?>;

<?php
if($i==0)
{
?>

d('<div id=ejs_scroller_1 style="position:absolute;width:'+(ejs_scroll_largeur-8)+';left:0;top:0;" CLASS=ejs_scroll>'+ejs_scroll_message[<?php echo $i?>]+'</DIV>');

<?php
}
else
{
?>
d('<div id=ejs_scroller_2 style="position:absolute;width:'+(ejs_scroll_largeur-8)+';left:0;top:'+ejs_scroll_hauteur+';" CLASS=ejs_scroll>'+ejs_scroll_message[<?php echo $i;?>]+'</DIV>');
<?php
}
}
?>

d('</DIV></DIV>');

ejs_scroll_mode =1;
ejs_scroll_actuel = 0;

function ejs_scroll_start()
{
if(ejs_scroll_mode == 1)
{
ejs_scroller_haut = "ejs_scroller_1";
ejs_scroller_bas = "ejs_scroller_2";
ejs_scroll_mode = 0;
}
else
{
ejs_scroller_bas = "ejs_scroller_1";
ejs_scroller_haut = "ejs_scroller_2";
ejs_scroll_mode = 1;
}
ejs_scroll_nb_message = ejs_scroll_message.length-1;
if(ejs_scroll_actuel == ejs_scroll_nb_message)
ejs_scroll_suivant = 0;
else
ejs_scroll_suivant = ejs_scroll_actuel+1;
if(document.getElementById)
document.getElementById(ejs_scroller_bas).innerHTML = ejs_scroll_message[ejs_scroll_suivant];
ejs_scroll_top = 0;
if(document.getElementById)
setTimeout("ejs_scroll_action()",ejs_scroll_pause_seconde*1000)
}

function ejs_scroll_action()
{
ejs_scroll_top -= 1;
document.getElementById(ejs_scroller_haut).style.top = ejs_scroll_top;
document.getElementById(ejs_scroller_bas).style.top = ejs_scroll_top+ejs_scroll_hauteur;
if((ejs_scroll_top+ejs_scroll_hauteur) > 0)
setTimeout("ejs_scroll_action()",10)
else
ejs_scroll_stop()
}

function ejs_scroll_stop()
{
ejs_scroll_actuel = ejs_scroll_suivant;
ejs_scroll_start()
}

addLoadEvent(ejs_scroll_start);
</script>
</div>
</div>[/code]


Une des news est la suivante :

[i]Horaires d'ouverture

L'agence est ouverte :

du lundi au vendredi
de 8h30 à 12h00 et de 13h30 à 18h00.[/i]


Je me pose la question si ce ne serait peut être pas les simple quotes de D'OUVERTURE et de L'AGENCE qui créeraient peut être des problèmes de syntaxe.
Actuellement il n'y a que cette news dans la base de données.

Voilà un petit où vous pouvez voir la page en question : [url="http://www.s247096133.onlinehome.fr"]http://www.s247096133.onlinehome.fr[/url]

Merci d'avance.

Arnaud S.
A voir également:

1 réponse

je crois que si le script marche sur firefox alors c'est que le probleme est du a la version de IE
0