Compatibilité firefox

Résolu
cs_bob Messages postés 80 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 27 août 2007 - 12 avril 2005 à 21:51
chimelpremier Messages postés 544 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 20 mai 2005 - 14 avril 2005 à 07:58
Bonsoir tout le monde !

j'ai trouvé un script(sur un autre site : je ne sais plus lequel) qui
faisait exactement ce que je cherchais, il marche sous IE mais pas avec
firefox



le script fait defiler les images de droites a gauche

si vous connaissais un autre script qui fait la meme chose et qui est compatible

je suis preneur



je vous donne le script :

<HTML>



<script language="JavaScript1.2">

<!--

// Largeur de la visionneuse (en pixels)

var largvisio=1000;



// Hauteur de la visionneuse (en pixels, seulement pour Netscape)

var hautvisio=145;



// Vitesse d’exécution du défilement des images

var vitessevisio=6;



// Images utilisées par la visionneuse

var visio_gd=new Array();

var visio_final='';



visio_gd[0]='';

visio_gd[1]='';

visio_gd[1]='';

visio_gd[1]='';

visio_gd[1]='';



var copyspeed=vitessevisio



// Copie le contenu des visio_gd[ ] dans une seule et unique variable

for (i=0;i<visio_gd.length;i++)

visio_final = visio_final + visio_gd[i] + " ";





if (window.document.all)

{

// Création dynamique de la balise MARQUEE


window.document.write('<marquee id="ieslider" scrollAmount=0
style="width:'+largvisio+'">'+visio_final+'</marquee>');



// Arrête le MARQUEE quand le curseur de la souris est dessus

ieslider.onmouseover=new Function("ieslider.scrollAmount=0");



// Re-active le MARQUEE lorsque la souris en sort

ieslider.onmouseout=new Function("if (document.readyState=='complete') ieslider.scrollAmount=vitessevisio");

}



function regenere_visio()

{

window.location.reload();

}



function regenere_visio2()

{

if (window.document.layers)

{

window.document.ns_slider01.visibility="show";

setTimeout("window.onresize=regenere_visio",450);

init_visio();

}



if (window.document.all)

ieslider.scrollAmount=vitessevisio;

}



//NS specific function for initializing slider upon page load

function init_visio()

{

window.document.ns_slider01.document.ns_slider02.document.write('<nobr>'+visio_final+'</nobr>');

window.document. ns_slider01.document.ns_slider02.document.close();

thelength=window.document.ns_slider01.document.ns_slider02.document.width;

scrollslide();

}



//NS specific function for sliding slideshow

function scrollslide()

{

if (window.document.ns_slider01.document.ns_slider02.left>=thelength*(-1))

{

window.document.ns_slider01.document.ns_slider02.left-=vitessevisio;

setTimeout("scrollslide()",100);

}

else

{

window.document.ns_slider01.document.ns_slider02.left=largvisio

scrollslide();

}

}



//window.onload=regenere_visio2



//-->

</script>







<layer
name="ns_slider02" onMouseover="vitessevisio=0;"
onMouseout="vitessevisio=copyspeed">
</layer>







</HTML>


voila, je vous remerci d'avance pour votre aide

PS : désolé pour la longueur !

10 réponses

GhislainLavoie Messages postés 289 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 3 avril 2008 3
13 avril 2005 à 01:16
Salut!

Y'a plein de script qui permet celà mais j'ai adapter ton script pour que ce soit compatible avec les navigateus avec le coeur de geiko dont Firefox.


<HTML>

<script language= "JavaScript1.2">
<!--
// Largeur de la visionneuse (en pixels)

var largvisio
=1000;

// Hauteur de la visionneuse (en pixels, seulement pour Netscape)

var hautvisio
=145;

// Vitesse d’exécution du défilement des images

var vitessevisio
=6;

// Images utilisées par la visionneuse

var visio_gd
=new Array
();

var visio_final
='';

visio_gd
[0]='
';
visio_gd
[1]='
';
visio_gd
[2]='
';
visio_gd
[3]='
';
visio_gd
[4]='
';

var copyspeed
=vitessevisio

// Copie le contenu des visio_gd[ ] dans une seule et unique variable

for
(i
=0;i
<visio_gd
.length;i
++)
visio_final
= visio_final
+ visio_gd
[i
]
+
" ";

if
(window
.document
.all
)

{
// Création dynamique de la balise MARQUEE
window
.document
.write
('
<marquee id
="ieslider" scrollAmount
= 0 style
="width:'+largvisio+'">'
+visio_final
+'
</marquee
>'
);

// Arrête le MARQUEE quand le curseur de la souris est dessus
ieslider
.onmouseover
=new
Function("ieslider.scrollAmount=0");

// Re-active le MARQUEE lorsque la souris en sort
ieslider
.onmouseout
=new
Function("if (document.readyState=='complete') ieslider.scrollAmount=vitessevisio");

}

function regenere_visio
()

{
window
.location
.reload
();

}

function regenere_visio2
()

{

if
(window
.document
.layers
)

{
window
.document
.ns_slider01
.visibility
="show";
setTimeout
("window.onresize= regenere_visio",450);
init_visio
();

}

if
(window
.document
.all
)
ieslider
.scrollAmount
=vitessevisio;

else
if
(document
.getElementById
&& document
.createElement
)

{
sliderContainer
= document
.createElement
("div");
sliderContainer
.style
.width
= largvisio
+
"px";
sliderContainer
.style
.height
= hautvisio
+
"px";
sliderContainer
.style
.position
=
"relative";
sliderContainer
.style
.overflow
=
"hidden";
sliderObject
= document
.createElement
("div");
sliderObject
.style
.height
= hautvisio
+
"px";
sliderObject
.style
.overflow
=
"hidden";
sliderObject
.style
.position
=
"absolute";
sliderObject
.style
.left
= largvisio
+
"px";
sliderObject
.innerHTML
=
"<nobr>"+visio_final
+"</nobr>";
sliderContainer
.appendChild
(sliderObject
);
sliderContainer
.onmouseover
=
new
Function("clearTimeout(timeContain)");
sliderContainer
.onmouseout
= scrollslide;
document
.body
.appendChild
(sliderContainer
);
scrollslide
();

}

}

//NS4- specific function for initializing slider upon page load

function init_visio
()

{
window
.document
.ns_slider01
.document
.ns_slider02
.document
.write
('
<nobr
>'
+visio_final
+'
</nobr
>'
);
window
.document
.ns_slider01
.document
.ns_slider02
.document
.close
();
thelength
=window
.document
.ns_slider01
.document
.ns_slider02
.document
.width;
scrollslide
();

}

//NS && GEIKO NAVIGATOR specific function for sliding slideshow

function scrollslide
()

{

if
(window
.document
.layers
)

{

if
(window
.document
.ns_slider01
.document
.ns_slider02
.left
>= thelength
*(-1))

{
window
.document
.ns_slider01
.document
.ns_slider02
.left
- =vitessevisio;
setTimeout
("scrollslide()",100);

}

else

{
window
.document
.ns_slider01
.document
.ns_slider02
.left
= largvisio
scrollslide
();

}

}

else

{

if
(sliderObject
.offsetLeft
> = sliderObject
.offsetWidth
*(-1))

{
sliderObject
.style
.left
=
(sliderObject
.offsetLeft
- vitessevisio
)
+
"px";
timeContain
= setTimeout
("scrollslide()",100);

}

else

{
sliderObject
.style
.left
= largvisio
+
"px";
scrollslide
();

}

}

}

//window.onload=regenere_visio2

//-->
</script>

<layer name=
"ns_slider02" onMouseover=
"vitessevisio=0;" onMouseout=
"vitessevisio=copyspeed"> </layer>

</HTML>

A+, Ghislain
3
chimelpremier Messages postés 544 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 20 mai 2005
13 avril 2005 à 23:02
Essaie un peu ça :

<marquee scrollAmount=5 onmouseover="this.scrollAmount=0" onmouseout="this.scrollAmount=5">

</marquee>
3
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
12 avril 2005 à 23:31
Si on aurait l'erreur que Firefox retourne ça aiderait.
0
cs_bob Messages postés 80 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 27 août 2007
12 avril 2005 à 23:43
ben il n'y a pas d'erreur !

ca ne marche pas c'est tout


ca n'affiche meme pas les images, rien ne ce passe alors que sous IE
les images defile les unes apres les autres de droites a gauche...

si tu test, tu verra !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bob Messages postés 80 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 27 août 2007
12 avril 2005 à 23:45
euh oui il y a une erreur sur le script mais j'ai vu

ce n'est pas

visio_gd[0]='';

visio_gd[1]='';

visio_gd[1]='';

visio_gd[1]='';

visio_gd[1]='';

mais

visio_gd[0]='';

visio_gd[1]='';

visio_gd[2]='';

visio_gd[3]='';

visio_gd[4]='';

et oui, le copier coller, c'est trompeur lol
0
chimelpremier Messages postés 544 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 20 mai 2005
13 avril 2005 à 10:11
bonjour Ghislain,

Toujours aussi fort, mais est-il encore nécessaire de garder une
compatibilité NS4, car la balise marquee est maintenant interprétée par
Firefox et Opéra ?

A quoi sert window.document.write() ? document.write() suffit, je pense §



cordialement
0
cs_bob Messages postés 80 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 27 août 2007
13 avril 2005 à 10:34
salut

ghislain, tu est un génie : si si je te jure MERCI

mais si je n'abuse pas de ton temps, est ce que tu pourrait expliquer rapidement

ce que tu a fait et qu'est ce qui n'étais pas compatible?


chimelpremier : j'ai remplacer les window.document.write par des document.write

et ca marche bien effectivement



BOB
0
GhislainLavoie Messages postés 289 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 3 avril 2008 3
14 avril 2005 à 00:11
Salut chimelpremier!

Je suis sidéré!!!

La balise marquee est un extention du html par EI et j'était certain compatible que par celui-ci. J'étais loin de me douter que Firefox l'avait intégré.

Pour ce qui est de NS4, je n'ai pas oser la retirer du script original mais quand je développe de nouveaux scripts, je n'en tient plus compte.

Pour ce qui est du préfix window, il est implicite sauf dans certain cas avec NS4.

Merci pour l'info.


<HR>
Salut bob!

Ce fut un plaisir de t'aider mais le code que j'ai développer est inutile car il ne tien pas compte de mon ignorence sur la compatibilité de la balise marquee qui étaient déja utilisé pour EI.

Je te conseil d'utilisé le code que chimelpremier a donné sauf tu veux conserver la compatibilité avec les plus vieux navigateurs.

A+, Ghislain
0
cs_bob Messages postés 80 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 27 août 2007
14 avril 2005 à 01:16
oui c'est plus simple c'est sur LOL

moi aussi j'avais vu sur plein de site que cette balise ne fonctionnait que sous IE mais bon

faut pas croire



grand merci a toi chimelpremier

a+ tout le monde
0
chimelpremier Messages postés 544 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 20 mai 2005
14 avril 2005 à 07:58
En fait, je pensais comme vous jusqu'à ce que je me soit fait boulé:
http://www.javascriptfr.com/forum.v2.aspx?ID=423569

et merci pour l'éclaircicement du window.document
0
Rejoignez-nous