获取网页的当前基数 URL
Get current base URL for web page
我是 运行 一个 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") []
但是给定的文件URL前面有http://
。我可以破解字符串并将该部分撕掉,但我希望找到一种更优雅的方式。
如果重要的话,我也在这里使用卤素灯,所以我可以访问他们的 API 如果其中有一些对这种情况有用的东西。
我是 运行 一个 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") []
但是给定的文件URL前面有http://
。我可以破解字符串并将该部分撕掉,但我希望找到一种更优雅的方式。
如果重要的话,我也在这里使用卤素灯,所以我可以访问他们的 API 如果其中有一些对这种情况有用的东西。