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
4
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
1
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
1
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
4
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
1
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