const baseUrl = window.location.pathname;
function handleButtonClick(event) {
setTimeout(() => {
const currentButton = event.target
if (currentButton === allFiltersButton) {
history.pushState(null, '', baseUrl)
} else {
const activeFilters = Array.from(filterButtons)
.filter(button => button.classList.contains('active'))
.map(button => button.getAttribute('data-address'))
const newTags = activeFilters.length > 0 ? '/' + activeFilters.join('-and-') : ''
console.log(baseUrl)
console.log(newTags)
try {
history.pushState(null, '', baseUrl + newTags)
} catch (e) {
console.error('Ошибка:', e);
}
}
}, 30)
}
При клике по кнопкам, собираю данные с дата-атрибутов и помещаю их в pushState.
На локалке все ок и при работе получаю типо такого: "
https://localhost:8080/index.html/filter_1-and-fil..." и тд
Переношу на сервак и получаю ошибку:
Failed to execute 'pushState' on 'History': A history state object with URL 'https://filter_1/' cannot be created in a document with origin 'https://my-domen.dev' and URL 'https://my-domen.dev/'.
У меня по этим фильтрам ajax идет и я вывожу данные в зависимости от того, какие фильтры передал на бек. Но аякс я отключил и хочу разобраться сперва с подстановкой в url.
Подскажите, в чем я не прав и как поступить?
Вывел в консоль baseUrl и newTags - на локалке получаю "/index.html" и "/filter_1", на сервере выводятся "/" и "/"