Get current base URL for web page
我正在运行一个 PureScript 应用程序,该应用程序由 F# 中的后端 Suave 应用程序提供服务。在前端,我需要在 PureScript 中打开到后端的 WebSocket 连接,但部分路径需要根据后端应用程序的运行方式是动态的(例如,在某些盒子上它是:
所以我需要获取我的应用程序正在提供的当前 URL,这样我就可以在前面放一个
我试过做类似的事情:
1 2 3 4 5 | wdw <- window htmldoc <- document wdw let doc = htmlDocumentToDocument htmldoc docUrl <- url doc connection <- WS.create (WS.URL $"ws://" <> docUrl <>"ws/blah") [] |
但是给出的文档 URL 前面有
如果这很重要,我也在这里使用卤素灯,所以如果那里有对这种情况有用的东西,我可以访问他们的 API。
我能够根据上面 stholzm 的建议拼凑起来。
在 location 的文档中,Hostname 和 Port 的函数可用于拼凑基本 url。位置可以通过接收窗口实例的位置函数获得。
最后,我的代码看起来像