Ajouter ou modifier un paramètre de requête URL avec JavaScript

"urlQuerySet" est une fonction JavaScript qui permet d'ajouter ou de modifier une paramètre de requête d'URL.

function urlQuerySet(a, b) {
  var c = JSON.parse(JSON.stringify(a)),
      d = ('' + (b || window.location.href)).split('#'),
      e = d[0].split('?'),
      f = e[0],
      g = '?';
  if (d[1]) {
    var p = ('' + e[1]).split('&');
    if (p[0]) {
      var i, j, k;
      for (i = 0, j = p.length; i < j; i++){
        k = p[i].split('=');
        if (typeof k[0] === 'string' && typeof a[k[0]] === 'undefined') {
          c[k[0]] = k[1];
        }
      }
    }
  }
  for (i in c) {
    g += i + '=' + ((typeof c[i] === 'string') ? encodeURIComponent(c[i]) : true) + '&';
  }
  return f + g.replace(/\&$/,'') + (d[1] ? '#' + d[1] : '');
}

Les paramètres de requête à ajouter à une URL peuvent être paramétré via un objet JSON à passer en premier argument de la fonction. Le deuxième argument permet de paramétrer l'URL à modifier, par défaut celle de la page.

var mes_parametres = {
  'cle1': 'valeur1',
  'cle2': 'valeur2'
};
var mon_url = 'https://www.domain.ext/';

urlQuerySet(mes_parametres, mon_url);
// renvoie : '"https://www.domain.ext/?cle1=valeur1&cle2=valeur2"'

Cet article vous a-t-il été utile ?

Super :)
Merci d'avoir donné votre avis !

Oups :(
Merci d'avoir donné votre avis qui va nous permettre de nous améliorer !

^