IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] [onReadyStateChange]Permission refusé de créer une classe enveloppante


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 109
    Points : 104
    Points
    104
    Par défaut [AJAX] [onReadyStateChange]Permission refusé de créer une classe enveloppante
    Salut !!

    J'ai un petit soucis pour associer onReadyStateChange a une fonction.

    Le code est simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function fillContent(url, dest){
    	this._xmlHttp=getXMLHTTP();
     
    	if(_xmlHttp){
    		alert(_xmlHttp.onreadystatechange);
    		_xmlHttp.onreadystatechange=function(){
    			alert(_xmlHttp.readyState);
    		}
    		alert(this._xmlHttp.onreadystatechange);
    		_xmlHttp.open('GET', url, false);
    		_xmlHttp.send(null);
    	}
    }
    Le premier alert() me renvoi null. Mais à la ligne d'après, j'ai l'erreur suivante :
    [Exception... "'Permission refusé de créer une classe enveloppante pour un objet de la classe UnnamedClass' when calling method: [nsIDOMEventListener::handleEvent]" nsresult: "0x8057001e (NS_ERROR_XPC_JS_THREW_STRING)" location: "<unknown>" data: no]
    Hors, dans ce même script, j'utilise une autre fonction similaire qui ne pose, elle, aucun soucis et qui fonctionne comme sur des roulettes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function fillMenu(url, dest){
    	this._xmlHttp=getXMLHTTP();
     
    	if(_xmlHttp){
    		_xmlHttp.onreadystatechange=function(){
    			if(_xmlHttp.readyState==4){
    				if(_xmlHttp.responseXML) dest.innerHTML+=_xmlHttp.responseText;
    			}
    		}
    		_xmlHttp.open('GET', url, false);
    		_xmlHttp.send(null);
    	}
    }
    J'utilise ce code pour générer mes _xmlHttp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    function getXMLHTTP(){
    	var xhr;
     
    	try{
    		xhr = new XMLHttpRequest();
    		if (xhr.overrideMimeType) {
    			xhr.overrideMimeType("text/xml");
    		}
    	}catch(e){
    		try{
    			xhr = new ActiveXObject("Msxml2.XMLHTTP");
    		}catch(e){
    			try{
    				xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			}catch(e){
    				xhr = null;
    			}
    		}
    	}
     
    	if(!xhr) alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest.");
     
    	return xhr;
    }
    J'aimerais donc savoir qu'elle est l'origine de ce caprice.

    S'il y a besoin de détails supplémentaire, n'hésitez pas.

    Merci ^^

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 109
    Points : 104
    Points
    104
    Par défaut
    Ok, j'ai trouvé. Un bugalacon. C'est le troisième alert() [alert(this._xmlHttp.onreadystatechange);] qui provoquait l'erreur

Discussions similaires

  1. Réponses: 40
    Dernier message: 21/06/2007, 17h58
  2. Créer une classe dans une classe
    Par FabaCoeur dans le forum C++
    Réponses: 9
    Dernier message: 02/06/2007, 20h26
  3. Réponses: 14
    Dernier message: 28/02/2007, 09h53
  4. Créer une classe commune à +sieurs fiches
    Par rtg57 dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/05/2006, 17h58
  5. Réponses: 4
    Dernier message: 08/10/2005, 09h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo