如何在没有主机名的情况下从 JavaScript 中的不同端口将 URL 写入资源

How to write a URL to resource from a different port in JavaScript without host name

我的 webapp 服务于 8090 端口,我想在 8091 端口使用 WebSocket。目前我在本地测试机上使用 var ws = new WebSocket('ws://localhost:8091')。如果 webapp 上线,我应该用真实的主机名替换它。否则请求将发送到本地机器,而不是真正的服务器,不是吗?

我想知道,是否可以使用类似 ws://:8091 的东西。

也许我误会了你,但你为什么不做以下事情:

if(online){
 var between = "whatever";
}else{
 var between = "localhost";
}

new WebSocket('ws://' + between + ':8091');

遗憾的是,您不能使用仅包含端口号的相对 URL。但是你可以这样做:

"ws://"+document.location.hostname+":8091"