Consistent fragment target behavior.
authorJoe Wreschnig <joe.wreschnig@gmail.com>
Fri, 29 Aug 2014 16:24:17 +0000 (18:24 +0200)
committerJoe Wreschnig <joe.wreschnig@gmail.com>
Fri, 29 Aug 2014 16:24:17 +0000 (18:24 +0200)
heroik.js

index bca710e0ef8be74598fdaca363e8d8304f71113c..88b1d32b114e57821e0d6faec5bb8c158b46b4e4 100644 (file)
--- a/heroik.js
+++ b/heroik.js
@@ -30,11 +30,7 @@ function scrollToId (id) {
 function open (event) {
     var href = this.href;
     var target = this.target === "_parent" ? window.parent : window;
-
-    if (this.getAttribute('href')[0] === "#")
-        scrollToId(this.getAttribute('href').slice(1));
-    else
-        target.location.href = this.href;
+    target.location.href = this.href;
     event.preventDefault();
 }
 
@@ -44,6 +40,10 @@ window.addEventListener('load', function () {
     scrollToId(location.hash.slice(1));
 });
 
+window.addEventListener('hashchange', function () {
+    scrollToId(location.hash.slice(1));
+});
+
 window.addEventListener('DOMContentLoaded', function () {
     if (navigator.standalone)
         document.body.className += ' standalone';