File tree Expand file tree Collapse file tree 2 files changed +11
-5
lines changed Expand file tree Collapse file tree 2 files changed +11
-5
lines changed Original file line number Diff line number Diff line change @@ -25,10 +25,15 @@ foreign import decodeURIComponent :: String -> String
25
25
foreign import hashChanged " " "
26
26
function hashChanged(handler) {
27
27
return function() {
28
- var currentHash = document.location.hash;
29
- handler(" " )(currentHash)();
28
+ var getHash = function() {
29
+ return document.location.href.split('#').splice(1).join('#');
30
+ };
31
+ var oldHash = " " ;
32
+ handler(" " )(getHash())();
30
33
window.addEventListener(" hashchange " , function(ev) {
31
- handler(ev.oldURL)(ev.newURL)();
34
+ var newHash = getHash();
35
+ handler(oldHash)(newHash)();
36
+ oldHash = newHash;
32
37
});
33
38
};
34
39
}
Original file line number Diff line number Diff line change @@ -6,14 +6,15 @@ import DOM
6
6
foreign import setHash " " "
7
7
function setHash(hash) {
8
8
return function() {
9
- document.location.hash = hash;
9
+ var uri = document.location.href.split('#')[0];
10
+ document.location.href = uri + '#' + hash;
10
11
};
11
12
}
12
13
" " " :: forall e . String -> Eff (dom :: DOM |e ) Unit
13
14
14
15
foreign import getHash " " "
15
16
function getHash() {
16
- return document.location.hash.replace(/^[^#]*#/g, " " );
17
+ return document.location.href.split('#').splice(1).join('#' );
17
18
}
18
19
" " " :: forall e . Eff (dom :: DOM |e ) String
19
20
You can’t perform that action at this time.
0 commit comments