JavaScript 获取服务端 IP、端口、URL 等信息
假设一个场景:某台物联网设备对外提供 HTTP 服务,用户可通过设备 IP 地址登录 Web 界面进行操作,Web 前端通过 WebSocket 与后端建立连接,那么 Web 前端如何知道目标设备 websocket 通道的 URL 地址?
实际上,由于 Web 界面是由用户在浏览器输入 URL 访问的(例如路由器的默认 IP 地址 192.168.0.1),因此前端的 HTML 页面理应知道目标设备的 IP 地址。浏览器为每一个打开的窗口创建了一个 Window 对象,表示一个包含 DOM 文档的窗口,因此我们可以通过 JavaScript 脚本从中获取到服务端 IP、端口、URL 等信息。
下面是一些简单的示例:
-
设置或获取整个 URL 为字符串
console.log(window.location.href);