Websocket 获取网页的当前基本URL

Websocket 获取网页的当前基本URL,websocket,purescript,halogen,Websocket,Purescript,Halogen,我正在运行一个PureScript应用程序,该应用程序由F#中的后端Suave应用程序提供。在前端,我需要在PureScript中打开到后端的WebSocket连接,但部分路径需要根据后端应用程序的运行方式进行动态设置(例如,在某些框中是:ws://host1:9999/ws/blah,在其他框中可能是ws://host2:7777/ws/blah) 因此,我需要获取我的应用程序正在运行的当前URL,这样我就可以在前面放一个ws://,在最后放一个ws/blah(或者以某种方式做一个相对的Web

我正在运行一个PureScript应用程序,该应用程序由F#中的后端Suave应用程序提供。在前端,我需要在PureScript中打开到后端的WebSocket连接,但部分路径需要根据后端应用程序的运行方式进行动态设置(例如,在某些框中是:
ws://host1:9999/ws/blah
,在其他框中可能是
ws://host2:7777/ws/blah

因此,我需要获取我的应用程序正在运行的当前URL,这样我就可以在前面放一个
ws://
,在最后放一个
ws/blah
(或者以某种方式做一个相对的WebSocket路径?)

我试过这样做:

wdw <- window
htmldoc <- document wdw
let doc = htmlDocumentToDocument htmldoc
docUrl <- url doc
connection <- WS.create (WS.URL $ "ws://" <> docUrl <> "ws/blah") []

wdw我能从上面的建议中把它拼凑起来

在location文档中,有用于和的函数,可用于拼凑基本url。可以通过接收实例的函数获取位置

最后,我的代码看起来像


没有时间写一个实际的答案,但是在
DOM.HTML.Location
中有一些函数可能会有所帮助。