Sans plus attendre, je vous remets simplement le code. Les amis qui savent à quoi il sert peuvent le retirer.
util=fonction(){
revenir {
$:fonction(id){
return document.getElementById(id);
},
trim:fonction(str){
return str.replace(/(^s )|(s $)/g, "");
},
len:function(str){
return str.replace(/[^x00-xff]/g,'**').length;
},
format:fonction(str){
var arg = arguments;
return str.replace(/{(d )}/g, function(m, i){
return arg[parseInt(i) 1];
});
},
chacun:fonction (objet, rappel, arguments){
nom de la var, i = 0, length = object.length;
si ( arguments ) {
if ( longueur === non défini ) {
pour (nom dans l'objet)
if ( callback.apply( object[ name ], args ) === false )
pause;
} autre
pour ( ; je < longueur; )
if ( callback.apply( object[ i ], args ) === false )
pause;
} autre {
if ( longueur === non défini ) {
pour (nom dans l'objet)
if ( callback.call( object[ name ], name, object[ name ] ) === false )
pause;
} autre
pour ( var valeur = objet[0];
je &Lt ; longueur && callback.call( valeur, i, valeur ) !== false; valeur = objet[ i] ){}
>
},
setCookie:fonction (nom, valeur, heures, chemin, domaine){
var str=nouvelle chaîne();
var nextTime=nouvelle Date();
nextTime.setHours(nextTime.getHours() heures);
str=name "=" escape(value);
si (heures)
str = ";expires=" nextTime.toGMTString();
si(chemin)
str = ";path=" chemin;
si (domaine)
str = ;domain=" domaine ;
document.cookie=str;
},
getCookie:fonction(nom){
var rs=new RegExp("(^|)" nom "=([^;]*)(;|$)","gi").exec(document.cookie),tmp;
si(tmp=rs)
return unescape(tmp[2]);
renvoie null ;
},
delCookie:fonction(nom){
document.cookie = nom "=-1" "; expire = vendredi 31 décembre 1999 23:59:59 GMT;";
},
/**
*url Chaîne
*parms Chaîne
*méthode Valeur par défaut de la chaîne "get"
*valeur booléenne par défaut vraie
*Fonction de réussite (http_request.responseText)
**/
ajax:fonction(config){
var url=config.url,
parms=(config.parms?config.parms:"") "&t=" new Date().getTime(),
method=config.method||"get",
asy=true;
var http_request=null;
if(method.toLowerCase()=="get"){
URL=URL "?" parmes;
parms=null;
>
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest) { //Mozilla utilise
http_request = nouveau XMLHttpRequest();
if (http_request.overrideMimeType) {//设置MiME类别
http_request.overrideMimeType("text/xml");
>
} else if (window.ActiveXObject) { // IE浏览器
essayez {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} attraper(e) {
essayez {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} attraper(e) {}
}
}
if(!http_request) { // Exception, échec de la création de l'instance d'objet
throw new Error ("Impossible de créer une instance d'objet XMLHttpRequest.");
return null ;
}
http_request.open(method,url,asy);
http_request.onreadystatechange=function(){
Si (http_request.readyState == 4){
essayer{
Si (http_request.status == 200){
Config.success (http_request.Responsetext);
}
}attraper(e){
throw new Error("Échec de la lecture des données.");
}
}
};
Si(method.toLowerCase()=="post"){
http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
}
http_request.send(parms);
>
};
}();
N'est-ce pas plutôt bien ? Quoi qu'il en soit, je suis très satisfait.