How to construct a WebSocket URI relative to the page URI?

前端 未结 8 1509
轻奢々
轻奢々 2020-12-12 23:25

I want to construct a WebSocket URI relative to the page URI at the browser side. Say, in my case convert HTTP URIs like

http://example.com:8000/path
https:/         


        
8条回答
  •  青春惊慌失措
    2020-12-12 23:51

    On localhost you should consider context path.

    function wsURL(path) {
        var protocol = (location.protocol === 'https:') ? 'wss://' : 'ws://';
        var url = protocol + location.host;
        if(location.hostname === 'localhost') {
            url += '/' + location.pathname.split('/')[1]; // add context path
        }
        return url + path;
    }
    

提交回复
热议问题