Bonne année 2017 bande de moules! Je vous souhaite plein de bonnes choses mais surtout beaucoup de blé, des putes et des black-jacks et une bonne santé ! (voilà pour commencer l’année en finesse!)
Comme je suis un chic type et parce que ça fait longtemps qu’on s’est pas vu je vous partage une ptite fonction maison pour ne plus se prendre la tête avec la récupération / définition des paramètres de la barre d’adresse en javascript.
Globalement la fonction permet de récupérer un paramètre avec
var valeur = parameter(‘nomParametre’);
De définir un paramètre (ou de le modifier si il existe) avec
parameter(‘nomParametre’,’valeurParametre’);
De supprimer un paramètre avec
parameter(‘nomParametre’,false);
La fonction est dispo ci dessous pour javascript et Jquery, je la trouve un peu longue si vous trouvez le moyen de la raccourcir (la fonction, je parle de la fonction…) n’hésitez pas à poster un commentaire.
Fonction Javascript natif
function parameter(name,value) { var parameters = window.location.href.match(/[\\?&]([^&#]*)=([^&#]*)/g); var data = {}; for (var key in parameters) { var couple = parameters[key].substring(1, parameters[key].length).split('='); data[couple[0]] = couple[1]; } if (value == null) return data[name] ? data[name] : null; if (value != false) data[name] = value; var url = '?'; for (var key in data) { if (value == false && key == name) continue; url += key + '=' + data[key]+'&'; } window.history.pushState('', document.title, url.substring(0, url.length-1)); }
Extension Jquery
$.parameter = function (name,value) { var parameters = window.location.href.match(/[\\?&]([^&#]*)=([^&#]*)/g); var data = {}; for (var key in parameters) { var couple = parameters[key].substring(1, parameters[key].length).split('='); data[couple[0]] = couple[1]; } if (value == null) return data[name] ? data[name] : null; if (value != false) data[name] = value; var url = '?'; for (var key in data) { if (value == false && key == name) continue; url += key + '=' + data[key]+'&'; } window.history.pushState('', document.title, url.substring(0, url.length-1)); }
Ptin, ça c’est du déterrage de flux RSS ! 😀
Cela dit, intéressant ta fonction, je mets de côté…
Merci pour le partage. Ça pourra être utile.
Bon anus et meilleurs noeudseuh, bonne année et meilleurs voeux :siffle: