Forums : Extensions

Aller à la discussion :  Plus récente Plus ancienne

# Problème de sécurité sur le chargement d'un doc XML

Envoyé par : Mr Pink Eyes

Date : 03/07/2008 13:16

Bonjour,

Je développe une extension pour FireFox3 et tente de loader un fichier XML.

Code: try{

        this.xmldoc = document.implementation.createDocument("","",null);
        alert(this.file.path);
        this.xmldoc.load(this.file.path);
        alert(this.file.path);
     }
     catch(e) { alert(e.message); }

et lorsque je la teste sous ExecuteJS :

[Exception... "Security error" code: "1000" nsresult: "0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)" location: "chrome://executejs/content/executejs/executeJS.js Line: 262"\]

Et du coup je vois pas trop comment faire... Auparavant je lisais le fichier pour en faire un String que je passais au DOMParser mais à cause de certaines CDATASection, cette technique fait planter le parser...

# Re: Problème de sécurité sur le chargement d'un doc XML

Envoyé par : Mr Pink Eyes

Date : 03/07/2008 14:14

Bon j'ai résolu le problème de sécurité. FireFox 3 ne supporte plus la méthode load() sur un XMLDocument. Il faut donc utiliser un XMLHttpRequest :

var xhr_object = null;

	xhr_object = new XMLHttpRequest(); 
	 
	xhr_object.open("GET", "file://"+this.file.path, false); 
	xhr_object.send(null); 
	this.xmldoc=xhr_object.responseXML;

Malgré ça lorsque je fais mon import, le parser (qui doit être appelé derrière) me jette car il n'aime pas le contenu de mes section CDATA.

	<parsererror xmlns="http://www.mozilla.org/newlayout /xml/parsererror.xml">Erreur d'analyse XML : mal formé
	Emplacement : file:///C:/Documents%20and%20Settings/Bruno/Mes%20documents/PishBar/labelsDB.xml
	Numéro de ligne 1, Colonne 99 :<sourcetext>&lt;labelManager&gt;&lt;key xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"&gt;&lt;![CDATA[ý_ý6fsýý]ýBcaýj)ýýýCýýýN~;
	--------------------------------------------------------------------------------------------------^</sourcetext>		</parsererror> 

J'ai déjà eu cette erreur lorsque je créais ma structure XML en tant que String avant de la passer au parser pour en faire un XMLDocument. La seule solution que j'ai trouvé est de créer directement le XMLDocument. DOnc bah je suis un peu bloqué tant que le DOMParser ne comprend pas qu'il ne faut pas traiter le contenu des CDATA.

Quelqu'un aurait une piste de solution ?

NB : j'ai été obligé de retirer quelques caractères spéciaux présents dans mon CDATA pour pouvoir poster sur le forum

# Re: Problème de sécurité sur le chargement d'un doc XML

Envoyé par : Mr Pink Eyes

Date : 03/07/2008 15:32

Bon ça y est tout marche, j'ai juste été obligé de recrypter mes données sur une base64 car sinon j'avais des caractères interdits par la norme XML. Voilou!

J'vais pas dire merci pour votre aide du coup :P mais si ça peut aider quelqu'un...

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.