let myhistory = [];
-const app = new App({
+const app = new App({ // eslint-disable-line no-unused-vars
target: document.body
});
document.addEventListener('click', function (e) {
// loop parent nodes from the target to the delegation node
- for (var target = e.target; target && target != this; target = target.parentNode) {
- if (target.matches('a')) {
+ for (var target = e.target; target && target !== this; target = target.parentNode) {
- var target_url = target.href;
+ if (target.matches('a') && target.href) {
+ // target.href always contains the full absolute URL, inspect the raw value instead
+ var target_url = target.attributes.href.value;
if (!is_relative_url(target_url)) return;
}
}
});
-
-// deal with back-button and other user action
-window.onpopstate = function () {
- refresh_page();
-};