FAQ XULConsultez toutes les FAQ

Nombre d'auteurs : 2, nombre de questions : 23, dernière mise à jour : 30 mars 2017 

 
OuvrirSommaireXUL et Javascript

Si vous développez un site web avec XUL, les règles de sécurité pour l'utilisation de XMLHttpRequest seront les mêmes que celles pour un site normal, à savoir vous ne pourrez faire de communication qu'avec votre site.
Lorsque vous êtes en mode chrome (pour les extensions), vous êtes autorisé à contacter un site externe via le XMLHttpRequest d'AJAX.

En prime voici une petite fonction qui vous permettra d'utiliser cette fonctionnalité :

 
Sélectionnez

function send(url,data,method,sendXML,objectAsync) {
        var xhr = new XMLHttpRequest();
	var res;
 
        if (sendXML)
        {
                xhr.overrideMimeType("text/xml");
        }
 
	if (objectAsync) {
		xhr.onreadystatechange = function() {
			// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
			if(xhr.readyState == 4 && xhr.status == 200){
        			if (sendXML) {
			                res = xhr.responseXML;
			        } else {
			                res = return xhr.responseText;
			        }
				objectAsync.do(res);
			}
		}
	}
 
        if (method == "POST") {
                xhr.open("POST",url,false);
                xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                xhr.send(data);
        } else {
                if (data == "") {
                        xhr.open("GET",url,false);
                } else {
                        xhr.open("GET",url+'?'+data,false);
                }
                xhr.send(null);
        }
 
	if (objectAsync == null) {
		if (sendXML) {
                	res = xhr.responseXML;
	        } else {
        	        res = xhr.responseText;
	        }
		return res;
	}
}
Créé le 14 mai 2008  par Nicolas Vallee

Prototype est une bibliothèque Javascript de bas niveau permettant de simplifier l'écriture du code Javascript. La bibliothèque telle que diffusée ne fonctionne pas dans une application XUL car la variable Function.prototype est accessible en lecture seule. Ce bug (ou feature au choix) existe dans Firefox 1 et 2 (mais est apparement corrigé en 3). Il faut donc redefinir Function.prototype.bind.

Créé le 15 mai 2008  par Denis Cabasson
Ce document est sous licence Creative Commons - Paternité 2.5 Générique