Outils du site


fr:developpers:webextension_xtense

Ceci est une ancienne révision du document !


Documentation Développeur Xtense Grease Monkey

Compatibilité Chrome/Firefox : ce qui est nécessaire :-)

Détection du navigateur

// Navigateurs
var isFirefox = (window.navigator.userAgent.indexOf('Firefox') > -1) ? true : false;
var isChrome = (window.navigator.userAgent.indexOf('Chrome') > -1) ? true : false;
var isTamper = false;
 
if(isChrome && unsafeWindow){
 
   isTamper =  true; // Plugin TamperMonkey installé sur Chrome
}

Fonctions de sauvegarde des données

/*********************** Compatibilité Chrome ***************************/
if(isChrome){
    function GM_getValue(key,defaultVal) 
    {
        var retValue = localStorage.getItem(key);
        if ( !retValue ) 
        {
            return defaultVal;
        }
        return retValue;
    }
 
    function GM_setValue(key,value) 
    {
        localStorage.setItem(key, value);
    }    
    function GM_deleteValue(value)
    {
        localStorage.removeItem(value);
    }    
 
}else if(isFirefox){
 // A completer si besoin...
}

Fonctions de Log

function log(message){
	if(GM_getValue(prefix_GMData +'debug.mode','false').toString() == 'true') { console.log(nomScript + " says : " + message); }
}

Requête AJAX et sa CallBack

function Xajax(obj) {
      GM_xmlhttpRequest({
      method: "POST",
      url: obj.url || '',
      data: obj.post || '',
      headers: {
        "Content-Type": "application/x-www-form-urlencoded"
      },
      onload: function(response) {
 
        handleResponse(response);
      }
    });
 
}

Callback

function handleResponse(Response) {
 
	log(Response.responseText); // Pour le debug...
	var message_start = '"'+GM_getValue(prefix_GMData +'server.name','')+'" : ';
 
	if (Response.status != 200) {
		if (Response.status == 404) 		log(Xl('http_status_404'));
		else if (Response.status == 403) 	log(Xl('http_status_403'));
		else if (Response.status == 500) 	log(Xl('http_status_500'));
		else if (Response.status == 0)		log(Xl('http_timeout'));
		else 								log(Xl('http_status_unknow', Response.status));
	} else {
 
                 //Traitement du contenu
        }
fr/developpers/webextension_xtense.1468329420.txt.gz · Dernière modification : 2021/03/12 14:09 (modification externe)