Envoyé par : Fabrice
Date : 08/11/2005 09:18
Boujour à tous, j'ai un petit pb sur le chargement d'un RDF distant de 4Mo. En effet je comptais le charger en mode asynchrone avec GetDataSource(), mais rien à faire à chaque chargement ou refresh mon interface se fige le temps de l'opération (comportement mode synchrone). Je precise (si ça à une influence) que mon firefox (de dev) est parametré pour le developpement.
merci de votre aide
Envoyé par : Fabrice
Date : 08/11/2005 09:23
En complement à mon premier post, voici ma fonction javascript:
function chargerSourceRDF(pId) { try { gRdfElement = document.getElementById(pId); var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); (gSource != null) ? gRdfElement.database.RemoveDataSource(gSource) : null; //pour quand on change de source gSource = rdfService.GetDataSource("file:///home/coutf/Documents/XUL/lapTOOLS/content/F130.rdf"); gSource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); gSource.QueryInterface(Components.interfaces.nsIRDFXMLSink); gSource.addXMLSinkObserver(gObserveur); gRdfElement.database.AddDataSource(gSource); if (gSource.loaded) { gRdfElement.builder.rebuild(); dump("Source chargée, reconstruction immédiate\n"); } dump("Source reconstruite\n"); mettreAjourSourceRDF(); } catch (e) { ajouterErreur("Erreur chargement RDF : "+e); } }
Envoyé par : laurentj
Date : 08/11/2005 12:55
Tu ne sembles pas utiliser plusieurs sources de données en même temps, donc pourquoi tu ne ferais pas plutôt :
gRdfElement.datasources="" gRdfElement.datasources="file:///home/coutf/Documents/XUL/lapTOOLS/content/F130.rdf";
Théoriquement, ça recharge, rebuild etc en asynchrone..
Envoyé par : Fabrice
Date : 08/11/2005 14:04
merci Laurent, mais c'est étrange j'ai exactement le même comportement... l'interface se fige jusqu'a la fin du chargement du RDF ;( Doit bien y avoir un truc...
Envoyé par : Fabrice
Date : 08/11/2005 14:22
C'est vraiment étrange mais il semble que le comportement soit meilleur si je pointe sur un fichier vraiment distant du genre http://localhost/monfichier.rdf c'est pas encore 100% asynchrone mais y-a du mieux. le figeage reste cette fois acceptable mais encore incompréhensible...
Envoyé par : hhf
Date : 08/11/2005 22:18
a mon avis, c'est pas forcement le tps de dl qui fige, c'est le parsing, j'ai eu un probleme un peu similaire avec une interface qui comprenait plein de zone peuplé par rdf. peut etre il y a t'il moyen de les mettres dans le cache via un xmlhttpRequest, puis une fois chargé mettre à jour le datasources non? dites moi se que vous en pensé?
Envoyé par : Fabrice
Date : 09/11/2005 08:50
salut hhf,
je suis également dans cette reflexion mais il me semblait que GetDataSource était prevu pour ça...
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.