Zobibol
Messages postés469Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention20 février 2017
-
26 oct. 2007 à 13:52
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
27 oct. 2007 à 15:00
Bonjour à vous,
voilà j'avais dans l'idée de mettre en place des méthodes sur l'objet Document ( afin d'optimiser certains de mes traitements ). Je me jette à l'eau et écris 3 méthodes ( ci-jointes ). J'inclus mon script dans un fichier html ( <script language= ... src=.... >)
et je lance Firefox, aucun problème, tout va bien !
Mais hélas, j'ai voulu tester avec ce brave IE ( 7.0 ) et la, v'lan l'erreur : Document est indéfini !!!
Si vous aviez une idée, une solution... Pour le moment, j'ai capituler sur le prototypage de Document, mais je vais persister !!!!
Le code :
/**********************************************/
/* Prototypage de Document */
/**********************************************/
/**
* Ajoute un objet à la collection d'objet
*
* @param _obj
* Objet à ajouter.
* @return L'index dans la collection d'objet
*/
Document.prototype.register = function (_obj){
if( this.objects == null){
this.objects = new Array();
}
this.objects.push ( _obj );
return (this.objects.length -1);
}
/**
* Retourne un objet en fonction de son index.
*
* @param _index
*/
Document.prototype.getRegister = function (_index){
return this.objects[_index];
}
/**
* Supprime un objet de la collection
*
* @param _index
*/
Document.prototype.unRegister = function (_index){
this.objects[_index ] = null;
}
Rien d'éxceptionnel !
[o-_-o]
A voir également:
Prototypage sur Document, erreur Internet Explorer
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 26 oct. 2007 à 15:18
ça baigne !?! ;o) FF ok, IE ko.
tenté plusieurs choses document au lieu de Document
mis le script derrière
...
résultat : pareil. faut donc aller plus loin.
<hr /> Cordialement Bul [mon Site] [M'écrire]
Zobibol
Messages postés469Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention20 février 20176 26 oct. 2007 à 15:31
ça fait un moment que je me casse la bugne sur ce problème, alors.....
Mais un grand merci à toi !!!!!
En effet, j'ai trouvé youki yah !!!
ci-joint la correction . Ne pas utiliser prototype et utiliser document.:
<html>
<head>
<title>Document.prototype don't work with IE ???</title>
<script>
/**********************************************/
/* Prototypage de Document */
/**********************************************/
/**
* Ajoute un objet à la collection d'objet
*
* @param _obj
* Objet à ajouter.
* @return L'index dans la collection d'objet
*/
document.register = function (_obj){
if( this.objects == null){
this.objects = new Array();
}
this.objects.push ( _obj );
return (this.objects.length -1);
}
/**
* Retourne un objet en fonction de son index.
*
* @param _index
*/
document.getRegister = function (_index){
return this.objects[_index];
}
/**
* Supprime un objet de la collection
*
* @param _index
*/
document.unRegister = function (_index){
this.objects[_index ] = null;
}
/**
* Fonction de démarage
*/
var idx;
function main (){
idx = document.register("Hello JavaScript ;o)" );
}
/**
* Retourne la valeur stocké dans document.
*/
function check(){
alert ( document.getRegister(idx)) ;
}
</script>
</head>
</html>
Mais pourquoi que j'y avais pas pensé avant ???? des fois je me demande
du coup j'accepte ta réponse.
[o-_-o]
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 26 oct. 2007 à 14:21
Bonjour,
>> Pour le moment, j'ai capitulé sur le prototypage de Document, mais je vais persister !!!!
ça doit pouvoir apporter plein de choses...
peux-tu nous donner un ch'tit exemple d'utilisation ?
le plus simple possible !
je n'arrive à faire fonctionner sur aucun navigateur !
( mais je ne suis pas doué !!! )
Zobibol
Messages postés469Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention20 février 20176 26 oct. 2007 à 14:29
Mon problème est qu'en fait je l'ai intégrer à une gestion complète de fenêtre...
Je vais faire un petit script rapidos...
et c'est parti...
<html>
<head>
<title>Document.prototype don't work with IE ???</title>
<script>
/**********************************************/
/* Prototypage de Document */
/**********************************************/
/**
* Ajoute un objet à la collection d'objet
*
* @param _obj
* Objet à ajouter.
* @return L'index dans la collection d'objet
*/
Document.prototype.register = function (_obj){
if( this.objects == null){
this.objects = new Array();
}
this.objects.push ( _obj );
return (this.objects.length -1);
}
/**
* Retourne un objet en fonction de son index.
*
* @param _index
*/
Document.prototype.getRegister = function (_index){
return this.objects[_index];
}
/**
* Supprime un objet de la collection
*
* @param _index
*/
Document.prototype.unRegister = function (_index){
this.objects[_index ] = null;
}
/**
* Fonction de démarage
*/
var idx;
function main (){
idx = document.register("Hello JavaScript ;o)" );
}
/**
* Retourne la valeur stocké dans document.
*/
function check(){
alert ( document.getRegister(idx)) ;
}
</script>
</head>
</html>
Normalement, lors du click sur le bouton, affiche "hello JavaScript ;o)"
ok sur FF ( 2.0.8)
pok sur IE (7)
[o-_-o]
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 26 oct. 2007 à 15:45
ben... je s'y suis pour rien.
comme quoi, poser une question et on résoud souvent tout seul !
néanmoins, pas de raisons que prototype ne marche pas,
mais avec IE pas sur Document, qu'il ne connait pas,
sur l'object DOM comme dit FirefOx ( alert Document.prototype )
LocalStone
Messages postés514Date d'inscriptionmercredi 19 mars 2003StatutMembreDernière intervention 1 mars 2009 27 oct. 2007 à 14:49
Je viens après la guerre, mais j'ai peut-être quand même une explication : document est une instance, pas une classe ... Donc utiliser prototype ne correspond à rien, vu qu'on ne fait jamais new document() ...
LocalStone
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 27 oct. 2007 à 15:00
>>Je viens après la guerre,
pas du tout.
>>document est une instance, pas une classe
"très bonne remarque", effectivement.
zobibol utilisait Document ( non = document ) avec FF,
inconnu (?) de IE chez qui il faudrait trouver l'équivalent
[ alert(Document+"\r\n"+document); ]