scratchdesign
Messages postés2Date d'inscriptionvendredi 14 novembre 2008StatutMembreDernière intervention 9 janvier 2009
-
9 janv. 2009 à 16:52
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 2011
-
10 janv. 2009 à 09:21
Bonjour,
J'ai réalisé un site web en flash. Dans l'une des rubriques du site web, je souhaitais changer la couleur de fond de ma page HTML ainsi que la couleur du texte de ma page HTML à partir de mon animation flash. J'ai donc fais appel à une fonction javascript afin d'attribuer la nouvelle couleur de fond grâce à document.bgColor ...
Mon problème :
- sous Firefox : la couleur background de la page et la couleur du texte sont changées comme il faut. Tout marche.
- sous Internet Explorer : la couleur du texte est changée comme il faut, mais la couleur background de la page ne change pas !!!
Pourtant j'utilise exactement la même méthode pour changer la couleur de fond de la page et la couleur de texte...
Voici le code que j'ai inséré dans mon animation Flash :
<script language="JavaScript">
<!--
function changeBgColor(newBgColor) {
if (window.document && window.document.bgColor) {
document.bgColor = newBgColor;
}
}
function changeFgColor(newFgColor) {
if (window.document && window.document.fgColor) {
document.fgColor = newFgColor;
}
}
-->
</script>
Qu'est-ce qui pourrait être à l'origine de ce non-fonctionnement sous IE ???
Merci par avance pour votre aide précieuse !!!
NB : Si vous le souhaitez, vous pouvez comparez l'effet avec ces deux navigateurs en vous connectant sur la page en question : www.francoisdupont.fr
Cliquez ensuite sur le bouton "photo" en bas de l'interface.
scratchdesign
Messages postés2Date d'inscriptionvendredi 14 novembre 2008StatutMembreDernière intervention 9 janvier 2009 9 janv. 2009 à 17:43
Après une série d'essais improbables, j'ai trouvé une solution :
J'ai simplement modifié la partie côté FLASH de la manière suivante :
- avant, l'intégralité de mon code côté FLASH se situait sur la même image clé
- maintenant, j'ai mis le code pour changer la couleur du texte sur une image clé, et le code pour changer la couleur de fond sur l'image d'après !!!
En effet, il semblerait que lorsque l'on met sur une même image...
getURL("JavaScript:changeBgColor('#424240')");
getURL("JavaScript:changeFgColor('#FFFFFF')");
... IE ne tienne compte que du deuxième appel getURL mais pas du premier, contrairement à Firefox qui prend en compte les deux getURL
Donc il faut mettre sur une première image seulement ...
getURL("JavaScript:changeFgColor('#FFFFFF')");
... et sur une seconde image seulement :
getURL("JavaScript:changeBgColor('#424240')");
C'est totalement idiot mais ça fonctionne maintenant sur les deux navigateurs !!!
NB: Cependant si qqn a trouvé une autre solution et explication, cela m'intéresse aussi de la connaître.
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 10 janv. 2009 à 09:21
Bonjour à vous,
- pourquoi document.bgColor et non document.body.bgColor, il peut y
avoir conflit...
exemple :
<html>
<head>
<style type="text/css">
body
{
background-color : red;
color : white;
}
</style>
</head>
texte
<script
type="Text/JavaScript">
function changeBgColor(newBgColor) {
if
(window.document && window.document.bgColor) {
document.bgColor
= newBgColor;
}
}
function changeFgColor(newFgColor) {
if
(window.document && window.document.fgColor) {
document.fgColor
= newFgColor;
}
}
changeBgColor('#00FF00');
changeFgColor('#FF0000');
</script>
</html>
- pourquoi ne pas passer donald, heu pardon plutôt,
par une modification du style.backgroundColor, plus actuel...