Salut,

Voilà mon problème : je veux executer automatiquement une fonction au chargement de ma page (celle-ci redimensionne une image) :

Les recherches que j'ai fais m'ont donné trois solutions, mais aucune ne me satisfait vraiment. Je précise quand même que je suis une croute en js

-solution1 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<body onload="javascript:initimages();">
Ca marche, mais...
Cette solution ne me convient pas, car j'utilise un "header" en pseudo frame (donc présent sur toutes les pages) et selon la page à charger je n'utilise pas cette fonction (donc inutile de la charger) ou j'utilise une autre fonction.

-solution2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<script type="text/javascript" src="../communs/redimimg.js"></script>
<script>setTimeout('initimages()',2)</script>
Cette solution me convient mieux (je peux la mettre seulement sur les pages qui en ont besoin), mais je ne la trouve pas "propre" : je suis peut-être un peu maniac , mais pourquoi utiliser un timeout si j'en ai pas besoin : je veux juste executer ma fonction quand la page se charge. Bon je pourrai mettre '0' comme timeout, mais s'il y a mieux...

-solution3:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<script type="text/javascript" src="../communs/redimimg.js"></script>
<script>initimages();</script>
Celle-là serait idéal... mais elle ne marche pas

Au cas où, voilà le code de ma fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
function initimages() {
  var prefixe_imaget = 'imgt_' ;
  var j = 1 ;
  while (document.getElementById) {
    if(document.getElementById(prefixe_imaget+j).width > 400) {
       document.getElementById(prefixe_imaget+j).width = 400 ;}
    j++ ;}
}
Merci pour vos conseil éclairé