begin process at 2012 05 30 05:03:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

surveiller une fonction


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

surveiller une fonction

lundi 24 septembre 2007 à 12:31:27 | surveiller une fonction

karakvb

Bonjour,
il y a t'il un moyen pour savoir lorsqu'une fonction javascript est appelée?
par exemple, j'ai un fichier js qui contient une fonction qui se charge de créer un element SVG :
                var group = svgDocument.createElementNS(svgns, "g");

J'aimerais, sans toucher au fichier, pouvoir savoir quand la fonction est appelée.
J'ai essayé en utilisant prototype pour appelé ma fonction a la place de celle de SVG:
            SVGDocument.prototype.createElementNS (namespace, type) { ... }

mais j'ai besoin que la vrai fonction s'execute quand meme...

Si quelqu'un a une idée ou une piste de recherche... Merci
--
karak
lundi 24 septembre 2007 à 16:12:57 | Re : surveiller une fonction

AlexN

Je te propose un exemple de redéfinition du prototype d'un objet en gardant la référence à l'ancienne méthode :

// Objet Foo
function Foo() {
  this.x = 1;
}
// Définition de la méthode AddX initiale
Foo.prototype.AddX = function(y) {
  this.x += y;
}
// instanciation d'un Foo
obj = new Foo;
// Application de la méthode AddX initiale
obj.AddX(5);

// Résultat 
alert("AddX initial = " + obj.x); // Affiche 1 + 5 = 6

// Sauvegarde de la référence à l'ancienne méthode dans une nouvelle méthode du prototype de l'objet
Foo.prototype.oldAddX = Foo.prototype.AddX;

// Redéfinition de la méthode du prototype
Foo.prototype.AddX = function(y) {
  this.x += 4;
  this.oldAddX(5); // Appel de l'ancienne méthode
}

// instanciation d'un Foo
obj = new Foo;
// Application de la méthode AddX redéfinie (avec appel de l'ancienne)
obj.AddX(5);

// Résultat
alert("AddX surchargé = " + obj.x); // Affiche 1 + 4 + 5 = 10

Cette méthode ne fonctionne pas avec les objets dits prebuild (String, Array,...) et par conséquent avec leur méthode traditionnelles (length, replace...). Je ne sais d'ailleurs pas s'il est possible de rédefinir quoique ce soit avec les prebuild; on peut les surcharger mais probablement pas les redéfinir. Mais peut être que SVGDocument n'est pas considéré comme tel.
mardi 25 septembre 2007 à 10:02:24 | Re : surveiller une fonction

karakvb

Bonjour et merci pour ta reponse.

J'ai essayé de faire ca:

SVGDocument.prototype.OLDcreateElementNS = SVGDocument.prototype.createElementNS;

SVGDocument.prototype.createElementNS = function (ns,type)
{
    alert(type);
    svgDocument.OLDcreateElementNS(ns,type);
}
Et j'ai comme l'impression que ca boucle a l'infini...
--
karak
mardi 25 septembre 2007 à 11:43:26 | Re : surveiller une fonction

AlexN

Réponse acceptée !
la fonction OLDcreateElementNS(ns,type) n'est pas reférencée dans le bon espace de noms (namespace) dans ta fonction, je dirai et javascript ne la trouve peut être pas, essayes :

SVGDocument.prototype.createElementNS = function (ns,type)
{
    alert(type);
    this.OLDcreateElementNS(ns,type);
}

sinon donnes le message d'erreur de la console (avec firefox et firebug)
mardi 25 septembre 2007 à 12:10:08 | Re : surveiller une fonction

karakvb

Aaaah ca marche, j'avais pas fait attention au message d'erreur et en faite il manque juste le return lol.

SVGDocument.prototype.OLDcreateElementNS = SVGDocument.prototype.createElementNS;

SVGDocument.prototype.createElementNS = function (ns,type)
{
  return (this.OLDcreateElementNS(ns,type));
}

En tout cas merci de ton aide.

--
karak


Cette discussion est classée dans : fichier, fonction, surveiller, svg, appelée


Répondre à ce message

Sujets en rapport avec ce message

Question d'un débutant en JavasScript... [ par Tribute2U ] Bjr, je débute en JavaScript et je sais qu'on peut intégrer ses scripts dans le fichier html ou bien appelé un fichier .jsJe sais comment appelé un fi fichier css en fonction du navigateur [ par stephbb75 ] Salut Tous,Une question peut être bette !! Est ce que je peut inclure un fichier css en fonction du navigateur !!En claire, dans head si je met un scr appel de fonction js depuis un fichier js [ par sbastian ] j'ai 2 fichiers js avec des fonctions js dans chaque fichier.je cherche à appeler la fonction d'un fichier js depuis un autre fichier js.c'est suremen une Fonction ouverture ecriture modification de Fichier/File [ par BBeppe ] Bonjour,cherche une function en Vb ou ASP ou Javascript pour ouvrir ecrire modifier des fichiers SUR DISQUES Recuperer les données d'un TEXTAREA pour Pb de chargement d'un fichier *.js à cause d'un onload [ par Squallou ] Hello tout le monde !J'ai un chtiot problème !J'ai du javascript sur ma page : une fonction qui doit obligatoirement se lancer avec un onload dans la Comment écrire dans un fichier XML grace à une fonction javascript [ par techwarior2 ] Bonjour à tous ceux qui connaisse le XML, aux autre aussi !! J'aimerai pouvoir lors de l'entrée dans un if { } mémoriser ce passage dans un document Executer une fonction javascript [ par tdikarimgrps ] Bonjour à tous,Voilà je souhaiterais savoir comment exécuter une fonction javascript lorsque je clique sur un lien ?De plus cette fonction devra downl Fonction dans IFrame [ par syndrael ] Bonjour, J'ai un fichier HTML contenant une IFrame. Dans cette IFrame un fichier html contenant une fonction Javascript Comment lancer ma fonction Jav fonction javascript [ par salim81 ] bonjour a tous! je sais pas si ce que je cherche est logique ou non.bon je veux  savoir est ce que si possible d'utiliser une fonction javascript  dan comment envoyer un fichier XML au serveur? [ par DJkasanova ] Pour l'un de mes projets je souhaiterais envoyer au serveur grâce à la fonction XMLHttpRequest d'AJAX avec comme parametre de la fonction xhr.send(un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales