Pb javascript sur Mac

jla2222

Membre enregistré
22 Janvier 2005
2
0
54
Bonjour,

Pb sur la page suivante, uniquement sur Mac :

http://www.siprog.com/test/

Elle doit afficher :

1 - une image de fond par appel de la foncttion javascript body() :

<body bgcolor="#006699"><script language="javascript">body('stats2');</script>

2 - une fenêtre javascript avec 'Message 1/2' par appel de la fonction message1 :

<script language="javascript">message1("message 1/2");</script>

3 - une fenêtre javascript avec 'Message 2/2' avec le code :

<script language="javascript">confirm("message 2/2");</script>

1 & 2 ne marche pas sur MAC (quand appel d'une fonction que j'ai écrite) avec Safari et IE (mais marche avec Firefox)

3 marche avec appel d'une fonction du langage javascript

Et là je colle !

Merci pour votre aide experts du Mac.

JLA</SPAN>
 
Désolé je ne m'y connais pas en Javascript, attends que ton message soit transféré dans le forum Dév web, mais juste une remarque : un site web ne peux pas s'appuyer sur le Javascript pour une fonction essentielle puisqu'à cause des pop-ups et messages de confirmation que certains webmaster ont la bonne idée de mettre sur leur pages, pas mal de monde désactive Javascript, de plus certains vieux navigateurs sont incompatibles avec Javascript.

Donc chez toi par exemple, le changement de l'image de fond n'est pas essentiel donc c'est pas grave si ça ne fonctionne pas, par contre si tes message sont important le mieux est sûrement de les intégrer dans la page (quitte à les insérer dans une balise noscript pour éviter d'avoir un doublon).
 
jla2222 a dit:
1 - une image de fond par appel de la foncttion javascript body() :

<body bgcolor="#006699"><script language="javascript">body('stats2');</script>

Bloc de code:
function body(menu)
 {
 // Résolution

 if ((screen.width==640 || screen.width==800 || screen.width==1024) && (screen.height==480 || screen.height==600 || screen.height==768))
    {
     résolution='_'+screen.width+'x'+screen.height;
    }
 else
    {
     résolution='_1024x768';
    }

 // Image de fond

 
 fond='fond006699_640x480.gif';

 ligne='<body bgcolor="#006699" background="'+fond+'" bgproperties="fixed">';

 document.write (ligne);
}

body('stats2');<body bgcolor="#006699"><script language="javascript">body('stats2');</script>
Quelques commentaires sur ton code :
- L'utilisation de caractères accentués pour un nom de variable n'est pas judicieux. Tu risques peut-être d'avoir des problèmes à cause de ça.
- Lorsque tu appelles ta fonction body('stats2'), celle-ci va imprimer un nouveau "<body ... >". Il n'est donc pas étonnant pour moi que ça fonctionne pas sur tous les navigateurs. Si tu fais une page avec 2 balises <body>, il ne faut pas s'étonner que le navigateur interpréte pas comme tu le souhaiterais.

jla2222 a dit:
2 - une fenêtre javascript avec 'Message 1/2' par appel de la fonction message1 :

<script language="javascript">message1("message 1/2");</script>

Il n'y a pas de problème avec le code de ce 2e javascript. Si certains navigateurs n'affichent pas correctement ton message d'alerte, c'est à cause du premier JavaScript. Essaie de supprimer ton premier Javascript, et hop celui-ci fonctionne !

jla2222 a dit:
3 - une fenêtre javascript avec 'Message 2/2' avec le code :

<script language="javascript">confirm("message 2/2");</script>

Celui-ci fonctionne effectivement correctement avec tous les navigateurs Mac.
 
Mille mercis pour ta réponse.

En fait c'était l'accent dans le nom de variable javascript qui était la cause essentielle du problème. Je m'en souviendrai !

Salutations

JLA+:-)