diff options
Diffstat (limited to 'src/JavaScript.hs')
| -rw-r--r-- | src/JavaScript.hs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/JavaScript.hs b/src/JavaScript.hs index aaf3747..3039b3f 100644 --- a/src/JavaScript.hs +++ b/src/JavaScript.hs @@ -8,6 +8,9 @@ module JavaScript ( consoleLogVal, historyPushState, + locationAssign, + locationGetHash, + locationSetHash, ) where import JavaScript.Element @@ -29,3 +32,18 @@ historyPushState :: String -> IO () historyPushState = js_history_pushState . toJSString foreign import javascript unsafe "history.pushState(null, '', $1)" js_history_pushState :: JSString -> IO () + +locationAssign :: String -> IO () +locationAssign = js_location_assign . toJSString +foreign import javascript unsafe "window.location.assign($1)" + js_location_assign :: JSString -> IO () + +locationGetHash :: IO String +locationGetHash = fromJSString <$> js_location_hash_get +foreign import javascript unsafe "window.location.hash" + js_location_hash_get :: IO JSString + +locationSetHash :: String -> IO () +locationSetHash = js_location_hash_set . toJSString +foreign import javascript unsafe "window.location.hash = $1" + js_location_hash_set :: JSString -> IO () |