Стоит следующая задача, находясь на странице имеется n-ое количество get переменных, при нажатии на Del, необходимо остаться на данной странице, но удалить к примеру переменную name и соответственно ее значение. (адрес к примеру index?a=1&b=2&c=3&name=abc&vr=56).
Изменять URL находясь на той же странице можно при помощи History API, всё остальное - дело программной логики:
let params={},
order=[]
location.search.replace(/^\?/,'').split('&').forEach(pie=>{
let [k,v]=pie.split('=')
params[k]=v
order.push(k)
})
$(document).keydown(e=>{
if(!e.which==46||!order.length) return
delete params[order.pop()]
console.log(params)
window.history.replaceState('','',location.origin+(order.length?'/?'+order.reduce((prev,cur)=>prev.concat(cur+'='+params[cur]),[]).join('&'):''))
})
Получать доступ к get переменным в этом примере вы можете через объект params
.
Если нужно разжевать написанное, то скажите, могу сдобрить код комментариями.
Виртуальный выделенный сервер (VDS) становится отличным выбором
У меня задача сделать плейсхолдеры для товаров на время загрузкиНе могу найти правильный подход
Захватываю левую кнопку, присваиваю ей класс chosen, одновременно убирая его в правой кнопкеЗахватываю правую кнопку, присваиваю тот же класс,...