begin process at 2012 05 28 14:59:17
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > LE SUPER DE JAVA, EN JAVASCRIPT .... LA SUPER CLASS ;)

LE SUPER DE JAVA, EN JAVASCRIPT .... LA SUPER CLASS ;)


 Information sur la source

Note :
8,5 / 10 - par 2 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :POO, super, héritage, self Niveau :Initié Date de création :12/02/2009 Date de mise à jour :21/08/2009 13:39:59 Vu / téléchargé :5 238 / 140

Auteur : Kimjoa

Ecrire un message privé
Commentaire sur cette source (21)
Ajouter un commentaire et/ou une note

 Description

la fonction pour créer une class est createClass, mais peux ètre renomé.
liste des arguments de createClass:
   - le constructeur,
   - le prototype,
   - une super classe
   - un objet en plus à étendre au prototype dont les méthodes n'utilise pas Self ou Super

Dans vos méthodes vous pourrez donc faire un appel à la super classe, via Super() :
liste des arguments de Super:
   - la propriété a appeler ou retourner
   - le contexte
   - un tableau d'arguments à passer à la méthode

et aussi à Self, qui renvoie non pas le constructeur de l'instance (appel static classique en js), mais du constructeur de la classe définissant la méthode appelé.
liste des arguments de Self:
   - la propriété a appeler ou retourner
   - un tableau d'arguments à passer à la méthode

Les appels static sont fais classiquement, via le constructeur, exemple :
    this.constructor.maMéthodeStatique();

j'allais oublié, les méthodes static peuvent être mit dans l'objet prototype, (2ème arguments de createClass) avec en préfixe 'static_', regarder l'exemple.

bye

Source

  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  • <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  • <head>
  • <title>IDClass</title>
  • <style></style>
  • <script type="text/javascript">
  • createClass = function(){
  • // variable et méthode privées
  • //enregistre dans le prototype les propriété d'un objet (ex maClass.implement({prop : valeur})
  • //se nomme ainsi pour pas utiliser extend qui porterais encore plus a confusion , il ne s'agit pas d'interface!!
  • function implement(o){
  • for(var i in o){
  • if(/^static_/.test(i)){
  • this[i.replace(/^static_/, '')] = o[i];
  • }else this.prototype[i] = o[i];
  • }
  • }
  • var nfn,//string d'une foncyion à évaluer
  • have;//si on doit déclarer les fonction Super et Self
  • //retourn si la proriété est une méthode et si elle utilise Super ou Self
  • function chk(fn){
  • if(typeof fn == 'function' && /Self|Super/.test(nfn = fn.toString())){
  • have = true;
  • return true;
  • }
  • }
  • return function(_constructor, _prototype, _super, _implements){
  • have = false;
  • //réévalue le constructeur, si il utilise Super ou Self , accéssible que depuis cette appel de fonction
  • _constructor = chk(_constructor) ? eval('[' + nfn + ']')[0] : _constructor || function(){};
  • _prototype =_prototype || {};
  • //réévalue toute les méthodes , si elles utilisent Super ou Self ,
  • for(var i in _prototype)
  • _prototype[i] = !/^static_/.test(i) && chk(_prototype[i]) ? eval('[' + nfn + ']')[0] : _prototype[i];
  • //si une ou plus de méthode appel Super ou Self
  • if(have){
  • var Super = function(prop, inst, args){
  • var re = prop == 'constructor' ? _super : _super.prototype[prop];
  • if(typeof re == 'function')
  • return re.apply(inst, args || []);
  • return re;
  • }
  • var Self = function(prop, args){
  • var re = _constructor[prop];
  • if(typeof re == 'function')
  • return re.apply(null, args || []);
  • return re;
  • }
  • }
  • //ajout la méthode static implement
  • _constructor.implement = implement;
  • //gestion native d'extension d'une class, qui permet le polymorphisme via instanceof
  • if(_super){
  • var t=function(){};
  • t.prototype = _super.prototype;
  • _constructor.prototype = new t();
  • _constructor.prototype.constructor = _constructor;
  • }
  • //ajoute les prop du prototype
  • _constructor.implement(_prototype);
  • //ajoute les prop en plus, qui n'appel pas de super ou self
  • if(_implements)
  • _constructor.implement(_implements);
  • return _constructor;
  • }
  • }();
  • //ATTENTION !! une fois vaux classe déclaré, il n'est plus possible de rajouter des méthodes devant appeler un super ou self..
  • var test1 = createClass(function(){
  • alert('constructor1');
  • Self('test');
  • this.constructor.test(true);
  • },{
  • fntest : function(){
  • alert('fnTest1');
  • },
  • static_test : function(){
  • alert('staticTest1 --- appel par self');
  • }
  • }
  • );
  • var test2 = createClass(function(){
  • alert('constructor2');
  • Super('constructor', this);
  • Self('test');
  • },{
  • fntest : function(){
  • alert('fnTest2');
  • },
  • static_test : function(){
  • alert('staticTest2 --- appel par self');
  • }
  • }, test1);
  • var test3 = createClass(function(){
  • alert('constructor3');
  • Super('constructor', this);
  • Self('test');
  • },{
  • fntest : function(){
  • alert('fnTesn3');
  • },
  • static_test : function(bys){
  • alert(bys ? 'staticTest3 --- appel static classique via le consructeur' : 'staticTest3 --- appel par self');
  • }
  • }, test2);
  • var obj1 = new test3;
  • //garde la gestion native du polymorphisme
  • alert(obj1 instanceof test1);
  • </script>
  • </head>
  • <body>
  • </body>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
   <title>IDClass</title>
   <style></style>
   <script type="text/javascript">
      createClass = function(){
          // variable et méthode privées
          //enregistre dans le prototype les propriété d'un objet (ex maClass.implement({prop : valeur})
          //se  nomme ainsi pour pas utiliser extend qui porterais encore plus a confusion , il ne s'agit pas d'interface!!
          function implement(o){
              for(var i in o){
                  if(/^static_/.test(i)){
                      this[i.replace(/^static_/, '')] = o[i];
                  }else this.prototype[i] = o[i];
              }
          }
          
          var nfn,//string d'une foncyion à évaluer
              have;//si on doit déclarer les fonction Super et Self
          //retourn si la proriété est une méthode  et si elle utilise  Super ou Self 
          function chk(fn){
              if(typeof fn == 'function' && /Self|Super/.test(nfn = fn.toString())){
                  have = true;
                  return true;
              }
          }
          return function(_constructor, _prototype, _super, _implements){
              have = false;
              //réévalue le constructeur,  si il utilise  Super ou Self , accéssible que depuis cette appel de fonction 
              _constructor = chk(_constructor) ? eval('[' + nfn + ']')[0] : _constructor || function(){};
              _prototype =_prototype || {};
              //réévalue toute les méthodes , si elles utilisent  Super ou Self ,
              for(var i in _prototype)
                  _prototype[i] = !/^static_/.test(i) && chk(_prototype[i]) ? eval('[' + nfn + ']')[0] : _prototype[i];
              //si une ou plus de méthode appel Super ou Self
              if(have){
                  var Super = function(prop, inst, args){
                      var re = prop == 'constructor' ? _super : _super.prototype[prop];
                      if(typeof re == 'function')
                          return re.apply(inst, args || []);
                      return re;    
                  }
                  var Self = function(prop, args){
                      var re = _constructor[prop];
                      if(typeof re == 'function')
                          return re.apply(null, args || []);
                      return re;
                  }
              } 
              //ajout la méthode static implement 
              _constructor.implement = implement;
              //gestion native d'extension d'une class, qui permet le polymorphisme via instanceof
              if(_super){
                  var t=function(){};
                  t.prototype = _super.prototype;
                  _constructor.prototype = new t();
                  _constructor.prototype.constructor = _constructor;
              }
              //ajoute les prop du prototype
              _constructor.implement(_prototype);
              //ajoute les prop en plus, qui n'appel pas de super ou self
              if(_implements)
                  _constructor.implement(_implements);
              return _constructor;
          }
      }();
    
    //ATTENTION !! une fois vaux classe déclaré, il n'est plus possible de rajouter des méthodes devant appeler un super ou self.. 
      
    var test1 = createClass(function(){
            alert('constructor1');
            Self('test');
            this.constructor.test(true);
        },{
            fntest : function(){
                alert('fnTest1');
            },
            static_test : function(){
                alert('staticTest1 --- appel par self');
            }
        }
    );
    var test2 = createClass(function(){
            alert('constructor2');
            Super('constructor', this);
            Self('test');
        },{
            fntest : function(){
                alert('fnTest2');
            },
            static_test : function(){
                alert('staticTest2 --- appel par self');
            }
        }, test1);
        
    var test3 = createClass(function(){
            alert('constructor3');
            Super('constructor', this);
            Self('test');
        },{
            fntest : function(){
                alert('fnTesn3');
            },
            static_test : function(bys){
                alert(bys ? 'staticTest3 --- appel static classique via le consructeur' : 'staticTest3 --- appel par self');
            }
        }, test2);
    var obj1 = new test3;
    
    //garde la gestion native du polymorphisme
    alert(obj1 instanceof test1);
   </script>
  
</head>
<body>
</body>



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

15 février 2009 22:28:52 :
abandon de la technique des porté des variables , au profit de la fonction arguments.callee.caller , testé sous opéra, ie7 ,chrome, ff3
15 février 2009 23:46:12 :
...
15 février 2009 23:49:44 :
...
21 août 2009 13:26:20 :
...
21 août 2009 13:39:59 :
...

 Sources du même auteur

Source avec Zip SYSTÈME DE REQUÊTE SUR DES DONNÉES JSON
Source avec Zip Source avec une capture MENU ANIMER HORIZONTALE OU VERTICAL , ACCÈSSIBLE SANS JS (SA...
Source avec Zip MARQUEE VERSION2 COMPATIBLE MOOTOOLS, JQUERY, PROTOTYPE ET S...
Source avec Zip Source avec une capture UID - FRAMEWORK JAVASCRIPT
Source avec Zip DOMBUILDER

 Sources de la même categorie

Source avec Zip Source avec une capture SLIDESHOW IMAGES ET TEXTES EN PUR JAVASCRIPT par ansuzpeorth
Source avec Zip INPUT TEXT AUTOMATIQUE CREATION SUPPRESSION par lycanges
Source avec Zip Source avec une capture TABLE_SV : TABLEAU DYNAMIQUE, MONTRER/CACHER COLONNE SUR DEM... par synanceia
COLONNES ADAPTABLES EN HAUTEUR par dronoide
Source avec Zip VECTEURS ET MATRICES: OUTILS GRAPHIQUES UTILES par william voirol

 Sources en rapport avec celle ci

JAVASCRIPT, LA POO AUTREMENT... par emericv
Source avec Zip Source avec une capture DEMINEUR JAVACSCRIPT | PHP, CONFIGURABLE AVEC LE FRAMWORK JQ... par Nementon
Source avec Zip Source avec une capture [DSI] DÉPLACEMENTS SUR IMAGES par Bul3
Source avec Zip LES COOKIES ET JAVASCRIPT par Zestyr
Source avec Zip Source avec une capture [ZI] ZOOM (LOUPE) SUR IMAGE par Bul3

Commentaires et avis

Commentaire de XtremDuke le 13/02/2009 02:24:51

Bonne idée de parler de l'héritage en POO.

Source très intéressante.

Commentaire de Kimjoa le 13/02/2009 04:07:48

merci de ton commentaire XtremDuke. je suis en train de refaire cette source, car pour le moment, $super ne référence que la méthode du mème nom de la classe hérité, alors que le super de java permet de choisir la méthode a éxécuter ou l'attribut a séléctionner. Le problème c'est que je peux difficilement passer par le prototype , car si je définit une méthode dedant référencant la classe hérité, je redifinirais cette mème méthode si la classe hérité , hérite dejà d'une autre...
La méthode que j'utilise et centré sur la porté des variables,en effet lorsque que l'on  créer une fonction, celle si aura accès au variable définit dans son context. Par contre si je creer une référence, de la fonction, les variables dont aura accès la fonctions seront tjrs celle de son context d'origine , sauf celle non définit avec le mot clé var.
Le probleme est que si je définit une variable sans le mot clé var, celle-ci sera reécrassé et ne restera pas en mémoire ... en gros le variable définit avec var sont en kelke sorte les propriété d'instance de la fonction, et celle sans des propiété classique... le probleme se rencontre notement dans les fonctions récursive...
Le probleme de cette méthode,( à voire une fois fini, et benché a mort :) ) c'est que je suis obliger de créer une référence vers une fonction super prédéfinit, pour chaque fonction du prototype original(non étendue avec sa super classe), ce ki peux alourdir la mémoire consommé, de plus je suis obliger de garder kelke par l'objet super de la classe non étendue , mais impossible de le mettre dans le prototype (répétition avec les super classe), ni en static, (car je passe par le prototype, this.contructor).
pour le moment, ca permet quand mème pas mal de chose, enfin ca raccourcit bien les éternel, Masuperclass.prototype.maMéthodeOverrider.call(this).
de plus de ce ke j ai vue en héritage javascript,on utilise soit le l Object.prototype (mauvaise idée, tout objet héritant de Object)-> base.js, soit on est obliger de passer le super en 1er argument de la fonction (contraigant, et impossible de référencer une autre méthode que celle du meme nom)-> prototype, soit passe par de lourd traitement lourd, et une utilisation obscure -> prototypal, ou  jsiner.
voila ptete ke demain j aurais plus avancé, a++

Commentaire de lakichemole le 13/02/2009 11:30:36 8/10

Toujours aussi motivé par le POO KimJoa une bonne note pour t'encourager!

Commentaire de mickaelpfr le 13/02/2009 11:31:16

truc bète , mais pourquoi ne pas référencer l'objet directement dans une propriété de l'objet enfant ?

var monparent = function(){...}

this.parent = monparent();

Qu'il soit instancié ou non , il aura accès aux méthodes / propriétés du parent

Commentaire de gentelmanmd le 13/02/2009 11:33:07

Merci bcp.

Commentaire de Kimjoa le 13/02/2009 16:14:08

merci bcp de ton encouragement lakichemole!!, toi aussi gentlemanmd :)

mickaelpfr , tjrs aussi courtois et respecteux du travail des autres!! c'est une habitude chez toi!! d'ailleurs j'attends vivement que tu nous poste une source, enfin si tu t'y risque, car t 'a pas partagé bcp ici...

Sinon ,tu connais un peu en héritage?
rappel : il est admis, cette relation : si maClasse EST aussi une autreClasse, alors je peux faire hériter maClasse, avec autreClasse, et dans ce cas j'ai accès au attribut/methode de autreClasse directement dans maClasse.
Ce que tu nous présente, n' a rien a voire avec l'héritage, c'est juste une méthode relationnelle...,
de plus t'instancie autant de fois que t'as de parent, et de parent de parent ect...

t'a technique ne met pas en ½uvre le polymorphisme.
de plus tu dit que mon objet soit une instancce ou non j 'ai accès au méthode parent! faux, si instancié, ok,j ai accès au parent via this.parent.methode( this.parent.parent...methode si parent et deja le parent de )(super lourd, et faut connaitre précisement la chaine de parent) , et si non instancié, impossible a moin de mettre parent dans le prototype, et dans se cas sa donne this.parent().
rappel : pour hériter une classe on fait maclasse.prototype=new parent() ,et ensuite on attribut les méthode/prop de ma classe, ainsi t'a accès au méthode/prop de ton parent directement via this, et ca gère le polymorphisme.
le problème de cette méthode, c'est que il faut un moyen de gérer la sur-définitions de méthodes et attribut, d'ou mon script. En java on passe par la methode super ki va appeller le 'prototype' parent pour récupérer la propriété recherché,
le probleme, c'est que super ne peux par être écris dans le prototype,car il sera sur-définit a chaque fois que j'hérite, d'ou ma méthode des porté des variables... voire le pavé du dessus :)

voila j'espère t'avoire éclairé un peu , et la prochaine fois, pour moi comme pour les autre , stp reste cool , tout le monde n'est pas aussi intélligent ke toi ... ;), bye

Commentaire de mickaelpfr le 13/02/2009 18:23:48

Hé bien ça si ce n'est pas de l'arrachage de goule en bonne et du forme ^^

alors droit de réponse ^^ pour une fois je n'étais nullement agressif , j'essayais justement de comprendre , merci de m'avoir instruit sur l'héritage :-)
Pour ce qui est de mes sources , je ne les postes pas sur ce site mais sur un autre dont je tairais le nom ( cause de rivalité parait-il entre les administrateurs .... )
mais sur lequel tu pourras retrouver qqs une de mes sources ( MP moi si tu veux ... )

Merci pour les explications :-)

Commentaire de Kimjoa le 13/02/2009 19:11:55

de rien ;)

Commentaire de foxz le 16/02/2009 22:05:59 9/10

hehe... j'ai pondu un truc équivalent il y a plus de 3 ans...
bientôt tu vas faire du xstyl :-)))

idee : encapsuler un setInterval pour faire un semblant de thread
(disons plutot un semaphore)

Commentaire de Kimjoa le 17/02/2009 02:53:01

salut foxz , merci pour la note :) !!

lol le thread , bonne idée, mais j'en aurais pas l'utilité :( !!

j'ai regardé t'as source notement le fichier fobj, dommage que tu ne prenne pas la peinde de commenter un peu, en plus avec les noms de variables genre a,b,c ect ... c chaud !!

mais sinon bravo, j'ai testé , pas de problème , mais je préfère mon script ;). Tu connais la propriété arguments, ki référence tout les arguments passé à la fonction ;) et apply qui marche comme call mais avec un tableau en 2eme arguments, si on  connais pas précisement les arguments a passé...
Sinon c'est dommage que ton script ne gère pas le polymorphisme , enfin que tu ne fasse pas hériter des classe plutôt que des objet.... (d'ailleur vais modif le mien pour ke les classe abstraite le gère aussi )

Concernant xstyle c'est vraiment sympa, ce ki serait cool ca serait de le coupler avec un selecteur xpath ou css, genre j'écris une règle xstyle qui s'appliquera que dans les éléments enfant satisfaisant la requête prédéfinit (un peu comme jquery), concernant les cascade énuméré , il aurait été vraiment cool qu'au lieu de les énuméré une par une , l'on passer par un système de boucle , par exemple pour créer une ligne sur deux (ou plus)de couleur différente ...

si j'ai des éclaire de génie dans la nuit , je te les postes ;)
a++

Commentaire de foxz le 20/02/2009 00:20:39

merci aussi...
polymorphisme : euh... que veux tu dire par la ?

xpath : c'est pas une fonction hardcoder dans FF ca ?
sinon il y a xsname qui scan que les tag avec un name="xs"

bonne idée le coup de la "regle" dans les styles en cascade...
j'y reflechirais...
sinon pour info : dans les styles en cascade les styles se répète automatiquement.

mais actuellement je suis à mille lieu de m'occuper de xstyl.
(je ne fais plus trop de prod web en ce moment)
pour le moment je m'amuse pas mal avec mozilla::rhino...
(scripting)

je te passerai ma lib fthread à l'occaz... totalement dans mon style : pas commenté et super tordu...

pour info : je programme à l'arrache...

Commentaire de lakichemole le 20/02/2009 09:51:53

du moment que ça wizzz...

Commentaire de foxz le 21/02/2009 02:25:16

lakichemole:toujours aussi constructif ?
kimjoa : pourquoi apporter la notion d'abstract dans ton poo ?
bientot tu vas nous faire du private et du protected ??? :-))


Commentaire de Kimjoa le 21/02/2009 17:18:17

merci pour vos commentaire les gars ;) !

alors concernant le polymorphisme , tu dois savoir que une instance peux etre de plusieurs types, en js sa se traduit avec la fonction instanceof. Dans ton script tu pourrais facilement le simuler avec une fonction te retournant les types de l'objet construit avec des appels successif au méthode surdéfinit. mais bon autant le faire avec les fonctions prédéfinit ...

Concernant le xpath , on pourrais comparer ça au sql du xml , le top ça aurait été coupler ton script à jquery , qui lui utilise les sélecteur css 3.0 ...

J'ai regardé tes sources , et je dois avouer que l'on a pas le même niveau ;) , je sais faire que du flash php et js :( . Peux être un jour j'aurais le temps de m'intéresser au moteur de rendue html ... c chaud pour le moment...
J'ai question sinon, est-ce qu'il est possible de modifier rhino et apporter ainsi au javascript d'autre fonctionnalité, comme un intégration d'un système de classe par exemple (je crois que le js du java donc rhino l'intègre déjà?je sais plus)?

"je te passerai ma lib fthread"  heuu , tu veux dire koi par là?

"pour info : je programme à l'arrache..." lol moi aussi, c'est même pas mon taff :(, bientôt j'espère ...

pk la notion d'abstract? juste pour faire les choses dans le règle de l'art ;) , j'ai essayer le private et protected , mais ça devient tros lourd à utiliser , il aurait fallu passer par une fonction pour récuperer les variables , pis au final ça n'aurait pas apporter grand chose, perso l'encapsulation des données, j'ai jamais vraiment compris à koi ça servait , sureté du code ou meilleur compilation ?? je l'utilise , mais pk ? lol

a++



Commentaire de foxz le 21/02/2009 21:13:03

je programme à l'arrache car c'est justement mon taff (oneshoot)...
si rhino t'interesse je suis à ta dispo pour te filer qq tuyaux.

je deposerais ma lib fthread peut-etre plus tard
(je vais la reprendre pour la commenter sinon je sens que je vais encore me faire descendre en flamme...)

je pense que je vais te piquer qq idée pour amelioré ma lib fobj.

abstract : lol !

Commentaire de foxz le 24/02/2009 21:28:04

voila... c'est fait.... :-)

la déclaration est comme dans ta lib
var x=$class(_class,superclass)...

avec une nuance...
var x=$class(_class,superclass,superclass,superclass...)
oui, oui, du multi heritage en javascript

j'ai simplifier l'appel à la classe hérité...

var x=$class({
constructor:function(){},
$go:function(){ // $=declare une méthode override
  ...
  inh(); // appel automatiquement la méthode hérité
  ...
}
},superclass)

je posterais les sources plus tard.

Commentaire de Kimjoa le 25/02/2009 16:24:43

salut foxz, je suis impatient de voire ça !!

tu fait du multihéritage sans gestion native du polymorphisme (instanceof) ,sinon c'est impossible ...

t'as réussi a appeler inh(); sans this devant?? t'as fais comment?

a+

Commentaire de Kimjoa le 25/02/2009 16:35:25

et sinon pas de abstract?? ;)

Commentaire de foxz le 25/02/2009 18:33:53

polymorthisme : bah c'est toi qui vas te taper le boulot :-))

inh : hehe... je met a dispo le source à dispo ce soir

abstract : j'en saisie pas reelement l'utilité... je travail trop salement pour ca :-))

Commentaire de emericv le 11/03/2009 21:10:02

Intéressant...

Je me trompe ou tu t'est inspiré de la bibliothèque Prototype (http://prototypejs.org) avec son constructeur Class qui propose quelque chose de très similaire... ?
Si oui, quel est le plus par rapport à cette bibliothèque ?

Commentaire de Kimjoa le 19/03/2009 00:21:51

salut emericv , en faite le $super de prototype est plus contraignant, d'abord il faut indiquer dans la fonction en 1er arguments le $super, (prototype parse les arguments de la fonction), c'est pas très pratique, en plus le $super ne référence que la fonction surdéfinit, alors qu'avec mon script on peux choisir kel fonction parente à appliquer (ou attribut).
En faite me suis rendu compte il y a peu que mootools utiliser une fonction assé similaire ... ,voilà a++

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

réaffecter self.focus() à un popup chargé [ par tikehau ] Tikehau j'ai mis un &lt;BODY onBlur="self.focus();"&gt; dans ma page mais je veux tout de même entrer des données dans les champs du formulaire de ma self.close(); avec Mozilla [ par Trinita16 ] Slt,lors du clique sur un bouton contenant la méthode self.close(), la fenetre se ferme correctement mais ne me renvoit pas vers le form déclaré ????V self.close() : pb [ par funghi ] salut à tous les codeurs !voila, j'ai un chtit pb de rien du tout mais que je n'arrive pas a regler : lorsque l'instruction self.close() est appellé, supprimer la toolbar du navigateur [ par kitiop ] Comment le faire sans passer par window.open ?Je veux ouvrir une fenêtre suite à validation de formulaire de transfert de fichier et indiquer que le t site aves frames [ par Robens ] Bonjour,J'ai un site avec des frames, chaque page du site contient un javascript pour d&#233;tecter si la page est bien charg&#233; dans une frame :&l nombre d'image pour diaporama [ par bosto ] Bonjour,Je suis super d&#233;butant et surtout graphiste pas technicien. Ma question est peut etre tres simple mais je ne trouve pas de reponse sur le scroll bar avec roll over [ par Le Zbire ] Dans les sections en rouge je voudrais faire un roll over j'ai essayer multiple moyens mais sa donne rienvous pourvez m'aider?La section bleu n'y touc scroll bar graphique modifié..comment en avoir plusieurs? [ par Le Zbire ] voici le codecode:&lt;HTML&gt;&lt;HEAD&gt;&lt;TITLE&gt;Smart Scroller&lt;/TITLE&gt;&lt;META http-equiv=Content-Type content="text/html; charset=iso-88 fenêtre active (focus) ou pas ? [ par mageonyme ] salut, comment savoir si la page est active ou non ? je m'explique : j'aimerai ouvrir une poup (&#231;a c'est bon) avec le focus (self.focus();) mais taille fenêtre à 100% pas compatible firefox.... [ par crashets4 ] Bonjour,Je souhaite que ma fen&#234;tre s'agrandisse &#224; 100% de la page du visiteur. Le script fonctionne sous IE, sous Netscape, mais pas sous fi


Nos sponsors


Sondage...

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 : 6,646 sec (3)

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