Вы ничего не сказали о переменных leftnav и rightnav, поэтому я подозреваю, что вы можете вместо этого использовать строки ('leftnav' и 'rightnav'), в противном случае оба они могут быть неопределенными.
РЕДАКТИРОВАТЬ: Теперь, когда вы опубликовали код, краткий взгляд на него предполагает, что да, вы хотели строки в кавычках.
window.addEventListener("popstate", function(e) {
direction = (direction=="leftnav")?"rightnav":"leftnav";
loadPage(location.pathname);
});