Page 1 sur 1

ONLOAD IE vs FireFox

Posté : 28 mai 2005, 18:30
par PhilFree
Salut à tous,

Dans la page HTML, j'ai:
<body onload="fonction($a)" ... 
et ça marche sous IE.

Mais pas sous FireFox.

Que dois-je faire pour que ce fichu renard comprenne qu'il doit exécuter la fonction lorsque l'on charge la page ?

Posté : 29 mai 2005, 02:31
par Gentoo Warrior
Activer javascript :lol:

ou alors c'est ton code qui n'est pas interpreté comme il faut par firefox.

essaie un truc tout bête pour voir si ton firefox accepte,
un truc du genre :

Code : Tout sélectionner

<html> <head> <script> function fonction() { document.getElementById('test').value = 'ca marche ;-)'; } </script> </head> <body onload="fonction()"> <input type="text" id='test' /> </body> </html>

Re: ONLOAD IE vs FireFox

Posté : 29 mai 2005, 02:56
par Xenon_54
<body onload="fonction($a)" ... 
Il ne faut pas confondre langage côté-client et langage côté-serveur.

PHP est exécuté sur le serveur et donc avant même que la page ne soit rendue. Javascript est exécuté chez le client.

Dans le cas présent, on dirait que tu tentes d'exécuter une fonction PHP lors du chargement de la page. À mon avis, tu as simplement à faire appel à la fonction sans la placer dans l'attribut onload.
<?php fonction($a); ?>
...
<body>
...
Ceci aura pour but d'exécuter ta fonction avant même le chargement de la page chez le client. Mais bon, il faudrait être plus clair sur ce que tu désires réellement faire afin que l'on puisse te guider sur la bonne voie.

;)

Posté : 29 mai 2005, 08:32
par PhilFree
Bonjour et merci à vous deux de vos réponses.

Je vais être plus clair (enfin j'espère).

La fonction que je désire lancer suite à "onLoad" de la page html est une fonction JavaScript. Ce n'est pas du PHP.

Si dans la page HTML je mets:
...
</head>
<body onload="faitQuelquechose($a)" ...

Avec Internet Explorer, pas de problème, la fonction "faitQuelquechose($a)" est exécutée donc je suis :D

Par contre avec FireFox, la fonction n'est pas exécutée et je suis :cry:

En fait FireFox ne comprend pas ou n'essaye même pas de comprendre ceci:

<body onload="faitQuelquechose($a)" ...

Ma question est donc, comment lancer ma fonction suite à l'évenement "onload" de ma page lorsque cette page est exécutée sur FireFox ?

:wink:

Posté : 29 mai 2005, 09:42
par Cyrano
Il y a probablement une erreur quelque part dans ton JavaScript. Je viens de faire un test avec ceci:
<html>
<head>
<title>Test JavaScript</title>
</head>
<body onload="alert('Ça marche pourtant bien !');">
<p>Essai JavaScript</p>
</body>
</html>
Chez moi, ça marche avec Internet Explorer 6, FireFox 1.0.4 et Opera 7 (je n'ai pas essayé avec Mozilla ni Opera 6)

Posté : 29 mai 2005, 10:46
par PhilFree
Chez moi, ça marche avec Internet Explorer 6, FireFox 1.0.4 et Opera 7 (je n'ai pas essayé avec Mozilla ni Opera 6)
:oops: Honteux et confus !

Merci Cyrano !

Je viens de refaire un test avec ma fonction, ça joue AUSSI sous FireFox.

Je ne comprends pas pourquoi lors de mes premiers essais ça ne fonctionnait pas :?: :?: :?:

Ma fonction, en fait, lit un cookie au moment du chargement de la page HTML.
Dans mes premiers essais, le cookie était bien lu sous Internet Explorer, mais PAS sous FireFox.

Mystère :roll:

Posté : 29 mai 2005, 10:48
par albat
Je viens de tester le code de test de Cyrano.

Code : Tout sélectionner

Firefox 1.0.4 ........................... OK Internet Explorer 6.0.2800 .............. OK Netscape browser 8.0.1 (mode Firefox) ... OK Netscape browser 8.0.1 (mode IE) ........ OK Opéra 7.54 .............................. OK