Envoyé par : pierrot
Date : 28/03/2005 16:44
salut,
je n'arrive pas à utiliser le onload(), car je voudrais lancer une fontion addListener() dès l'ouverture, mais celle ci ne se lance que dans le cas ci dessous, c'est a dire avec le oncommand="addListener() (click sur un bouton), ce que je voudrais eviter. (les onload ne marchant pas)
<toolbox id="navigator-toolbox" onload="addListener();"> <toolbar id="aBox" onload="addListener();" > <toolbarbutton label="Start" oncommand="addListener();"/> </toolbar> ... </toolbox>
merci
Envoyé par : laurentj
Date : 28/03/2005 20:30
onload ne fonctionne que sur la balise <window>.
Envoyé par : pierrot
Date : 28/03/2005 22:19
ok c kler
dans ce cas n'y aurait il pas moyen de lancer ma fonction des l'ouverture du navigateur.(je fais une extenion, et j'utilise une <overlay> et pas de <window>)?
merci
Envoyé par : laurentj
Date : 29/03/2005 15:29
si bien sûr. dans ton script javascript, tu appelle directement ta fonction, en dehors de toute autre fonction. Elle sera executée en même temps que le chargement. Mais attention, pas de manipulation DOM, car les documents ne sont pas encore chargés (les éléments du document n'existent pas encore..)
<script type="application/x-javascript" src="script.js" />
et dans script.js
function foo(){ ... } ... foo();
Envoyé par : Utilisateur anonyme
Date : 12/04/2005 13:30
Bonjour, J'ai un fonctionnement à peu près équivalent à réaliser.
Je crée une toolbar comportant un champ de saisie bloqué (par l'attribut "read-only" à true) dont la valeur est mise à jour toutes les trente secondes par un script récupérant le contenu d'un fichier texte distant...
Je souhaite donc executer ce script :
function refresh_titre() { document.getElementById("current-song").value = 'Recuperation en cours ...'; req = new XMLHttpRequest(); req.open('GET', 'http://urldemonfichierdistant.txt', true); req.onreadystatechange = function (aEvt) { if (req.readyState == 4) { if(req.status == 200) document.getElementById("current-song").value = req.responseText; else document.getElementById("current-song").value = 'Echec !'; } }; req.send(null); }
Et le faire executer toutes les trente secondes :
function refresh_auto_titre() { refresh_titre(); setTimeout('refresh_auto_titre()', 30000); // Refresh Auto 30 secondes }
Cette fonction est lancée dans le onload() ou dans le fichier javascript, indifféremment...
Mais j'ai donc une manipulation sur des objets qui n'existent pas encore et mon refresh_titre() n'a aucun effet... Comment puis-je procéder ?
Envoyé par : LAurent
Date : 12/04/2005 15:38
Bon je me suis répondu tout seul.
Au lieu de lancer la fonction refresh_auto_titre() dans le fichier javascript, je regle un
setTimeout('refresh_auto_titre()', 5000); // Refresh au démarrage 5 secondes
qui est donc appelé au lancement...
Et je modifie l'autre fonction en
function refresh_auto_titre() { setTimeout('refresh_auto_titre()', 30000); // Refresh Auto 30 secondes refresh_titre(); }
Où je passe simplement l'appel à la fonction après le timer...
J'ai donc un premier rafraichissement à 5 secondes puis toutes les trente secondes...
Envoyé par : LAurent
Date : 19/04/2005 19:30
Voilà je complète ici puisque j'ai trouvé une manière un peu plus élégante de faire : Je remplace
setTimeout('refresh_auto_titre()', 5000); // Refresh au démarrage 5 secondes
par un
window.addEventListener("load", refresh_auto_titre, false);
au même endroit et ma fonction s'éxecute au lancement, simple mais il fallait le trouver
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.