Probleme javascript sous firefox [Résolu]

Signaler
Messages postés
15
Date d'inscription
mardi 6 mars 2007
Statut
Membre
Dernière intervention
15 mai 2007
-
Messages postés
15
Date d'inscription
mardi 6 mars 2007
Statut
Membre
Dernière intervention
15 mai 2007
-
bonjour,

j'ai un problème avec le code qui suit, je souhaite l'utiliser avec firefox , mais il ne  marche que sous
IE

merci bien de m'aider.

<

scripttype="text/javascript">

Sys.XmlScriptLoader = {

_currentScriptIndex : 0,

_scriptDoms : [],

_scriptUrls : [],

loadXmlScripts :

function() {

var scripts = document.getElementsByTagName(
"script");

var nodesToRemove = [];

for(
var i = 0; i < scripts.length; i++) {

var scriptSrc = scripts[i].src;

if (scripts[i].type ==
"text/xml-script" && scriptSrc !=

null && scriptSrc.length != 0) {

this._scriptUrls.push(scriptSrc);nodesToRemove.push(scripts[i]);

}

}

for(
var j = 0; j < nodesToRemove.length; j++) {nodesToRemove[j].removeNode();

}

this._loadNext();},

_loadNext :

function() {

if (
this._currentScriptIndex <
this._scriptUrls.length) {

this.loadXmlScript(
this._scriptUrls[
this._currentScriptIndex++]);}

else {

if (
this._scriptDoms.length > 0) {Sys.Preview.MarkupParser.processDocumentScripts(Sys.Application._markupContext,

this._scriptDoms);}

this._scriptDoms = [];

this._currentScriptIndex = 0;

this._scriptUrls = [];}

},

loadXmlScript :

function(url) {

var request =
new Sys.Net.WebRequest();request.set_url(url);

request.add_completed(Function.createDelegate(

this,
this._onloadXmlScript));request.invoke();

},

_onloadXmlScript :

function(executor, args) {

if (executor.get_responseAvailable() && executor.get_statusCode() >= 200 &&

executor.get_statusCode() < 300) {

var scriptDom = executor.get_xml();

var pageNode;

for(
var i = 0; i < scriptDom.childNodes.length; i++) {

if (scriptDom.childNodes[i].nodeName ==
'page') {pageNode = scriptDom.childNodes[i];

break;}

}

this._scriptDoms.push(pageNode);}

else {

throw
new Error(
"Could not load xml-script: " + executor.get_webRequest().get_url());}

//load the next script

this._loadNext();}

}

window.onload =

function() {Sys.XmlScriptLoader.loadXmlScripts();

}

</script>

2 réponses

Messages postés
15
Date d'inscription
mardi 6 mars 2007
Statut
Membre
Dernière intervention
15 mai 2007

Bonjour,

J'ai remplacé la seconde  boucle for à l'intérieur de la méthode  loadXmlScripts avec le code suivant et ca marche :

for(var j = 0; j < nodesToRemove.length; j++) {
    // Firefox doesn't support removeNode.
    // nodesToRemove[j].removeNode();

    var nodeToRemove = nodesToRemove[j];
    nodesToRemove[j].parentNode.removeChild(nodeToRemove);
}
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Salut,

Est-tu sur la derniere version stable de Atlas (ajax Microsoft)
je pense que c'est extrait de la ton code.

Si oui, il y a le forum de codeplex qui serait mieux adapté pour avoir une reponse;

C'est bizarre que le probleme est sur une fonction de base comme le script loader.

Bon courage, mais je ne connais pas trop ce framework.