Я хочу обновить строку запроса url, нажав на флажок. Вот код, он не работает правильноОбновить строку запроса в url
param1=param1=true
param1=param1=param1=false
param1=param1=param1=param1=true
вместо:
param1=false
param1=true
Вот unrefactored код:
if (this.checked) {
if (window.location.href.search('[?&]') === -1) {
window.history.pushState('object or string', 'Title', window.location.href + '?param1=true');
} else {
window.history.pushState('object or string', 'Title', window.location.href.replace(/param1=false|true/i, 'param1=true'));
}
} else {
if (window.location.href.search('[?&]') === -1) {
window.history.pushState('object or string', 'Title', window.location.href + '?param1=false');
} else {
window.history.pushState('object or string', 'Title', window.location.href.replace(/param1=false|true/i, 'param1=false'));
}
}
возможно дубликат [Добавление параметра в URL с JavaScript] (http://stackoverflow.com/questions/486896/adding-a-parameter-to-the-url-with-javascript) – Bhullnatik
@Bhullnatik, вам лучше перечитать мой вопрос. –
Это похоже на дубликат http://stackoverflow.com/questions/10420955/history-pushstate-change-query-values, хотя этот вопрос пока не кажется очень удовлетворительным. (Конечно, вы можете попробовать добавить щедрость.) –