Использование родного HistoryAPI и History.js вместе
Я немного запутался новичок в истории API. Пожалуйста, помогите мне понять это. Я написал этот код с помощью Native HistoryAPI:
function addClicker(link) {
link.removeEventListener('click', null);
link.addEventListener("click", function (e) {
if (swapData(link.href)) {
if (prevlink != link.href) {
history.pushState(null, null, link.href);
prevlink = link.href;
}
e.preventDefault();
}
}, true);
}
function setupHistoryClicks() {
var links = document.getElementsByClassName('hrlinks');
for (var i = 0; i < links.length; i++)
addClicker(links[i]);
}
function initHist() {
if (!supports_history_api()) { return; }
setupHistoryClicks();
window.setTimeout(function () {
window.addEventListener("popstate", function (e) {
swapData(location.href); //a function that changes content according to URL
}, false);
}, 1);
swapData(location.href);
}
Этот код переопределяет событие щелчка ссылок с hrlinks
как класс и позволяют им использовать историю API.
Но за последние 2 дня я изучаю History API и узнал, что он не очень надежный. И другой альтернативой является использование History.js.
Я хочу знать, как я могу использовать History.js, когда History API недоступен? И мне нужно изменить свой код для этого? Или я должен просто импортировать History.js, когда родной History API не поддерживается?