简体   繁体   English

HTML 文档中的不可见脚本标签,其中包含 websockets 代码

[英]Invisible script tag in HTML document with websockets code in it

I have a simple html page我有一个简单的 html 页面

<!DOCTYPE html>
<html>
<head>
    <title>Sample</title>
</head>
<body>
    <div>
        Simple div
    </div>
</body>
</html>

I opened this HTML document in Chrome.我在 Chrome 中打开了这个 HTML 文档。 Then in the debugger tool, I execute following然后在调试器工具中,我执行以下

document.getElementsByTagName("script")[0]

I got a script tag (which I never added in HTML) with a bunch of code like following我得到了一个脚本标签(我从来没有在 HTML 中添加过),里面有一堆代码,如下所示

<script type="text/javascript">
    // <![CDATA[  <-- For SVG support
    if ('WebSocket' in window) {
        (function() {
            function refreshCSS() {
                var sheets = [].slice.call(document.getElementsByTagName("link"));
                var head = document.getElementsByTagName("head")[0];
                for (var i = 0; i < sheets.length; ++i) {
                    var elem = sheets[i];
                    head.removeChild(elem);
                    var rel = elem.rel;
                    if (elem.href && typeof rel != "string" || rel.length == 0 || rel.toLowerCase() == "stylesheet") {
                        var url = elem.href.replace(/(&|\?)_cacheOverride=\d+/, '');
                        elem.href = url + (url.indexOf('?') >= 0 ? '&' : '?') + '_cacheOverride=' + (new Date().valueOf());
                    }
                    head.appendChild(elem);
                }
            }
            var protocol = window.location.protocol === 'http:' ? 'ws://' : 'wss://';
            var address = protocol + window.location.host + window.location.pathname + '/ws';
            var socket = new WebSocket(address);
            socket.onmessage = function(msg) {
                if (msg.data == 'reload') window.location.reload();
                else if (msg.data == 'refreshcss') refreshCSS();
            };
            if(sessionStorage && !sessionStorage.getItem('IsThisFirstTime_Log_From_LiveServer'))
            {
                console.log('Live reload enabled.');
                sessionStorage.setItem('IsThisFirstTime_Log_From_LiveServer', true);
            }
        })();
    }
    else {
        console.error('Upgrade your browser. This Browser is NOT supported WebSocket for Live-Reloading.');
    }
    // ]]>
</script>

Can anyone tell me what this is and why is it there?谁能告诉我这是什么以及为什么在那里?

Mesmo com o live server ativado, te como remover esses códigos ? Mesmo com o live server ativado、te como remover esses códigos ? fica dificil saber o que eu coloquei no html ou não. fica dificil saber o que eu coloquei no html ou não。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM