hallo
Ohne dir helfen zu können, ist mir aufgefallen dass du mit
if (ajax.status === 200) { this.elements.body.innerHTML = ajax.responseText; resolve(ajax.status); } else { reject(ajax.status); }
Eigentlich die Möglichkeit des Caches (status 304) verwirfst. Das sollte man ohne guten Grund für
ajax.open('GET', ....
nicht tun.