Skip to content

Commit 9a14c44

Browse files
committed
feat: WebSocket in Live Server
1 parent c4e4dd7 commit 9a14c44

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

Network/WebSocket/LiveServer.html

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<!-- Code injected by live-server -->
2+
<script>
3+
// <![CDATA[ <-- For SVG support
4+
if ('WebSocket' in window) {
5+
(function () {
6+
function refreshCSS() {
7+
var sheets = [].slice.call(document.getElementsByTagName("link"));
8+
var head = document.getElementsByTagName("head")[0];
9+
for (var i = 0; i < sheets.length; ++i) {
10+
var elem = sheets[i];
11+
var parent = elem.parentElement || head;
12+
parent.removeChild(elem);
13+
var rel = elem.rel;
14+
if (elem.href && typeof rel != "string" || rel.length == 0 || rel.toLowerCase() == "stylesheet") {
15+
var url = elem.href.replace(/(&|\?)_cacheOverride=\d+/, '');
16+
elem.href = url + (url.indexOf('?') >= 0 ? '&' : '?') + '_cacheOverride=' + (new Date().valueOf());
17+
}
18+
parent.appendChild(elem);
19+
}
20+
}
21+
var protocol = window.location.protocol === 'http:' ? 'ws://' : 'wss://';
22+
var address = protocol + window.location.host + window.location.pathname + '/ws';
23+
var socket = new WebSocket(address);
24+
socket.onmessage = function (msg) {
25+
if (msg.data == 'reload') window.location.reload();
26+
else if (msg.data == 'refreshcss') refreshCSS();
27+
};
28+
if (sessionStorage && !sessionStorage.getItem('IsThisFirstTime_Log_From_LiveServer')) {
29+
console.log('Live reload enabled.');
30+
sessionStorage.setItem('IsThisFirstTime_Log_From_LiveServer', true);
31+
}
32+
})();
33+
}
34+
else {
35+
console.error('Upgrade your browser. This Browser is NOT supported WebSocket for Live-Reloading.');
36+
}
37+
// ]]>
38+
</script>

0 commit comments

Comments
 (0)