我不知道为什么我的脚本不起作用



我不明白为什么我的控制台总是添加我没有添加的额外代码

所以写了这个

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>

</body>
</html>

但如果我在chrome浏览器中查看源代码,它总是像一样

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>

<!-- Code injected by live-server -->
<script>
// <![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];
var parent = elem.parentElement || head;
parent.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());
}
parent.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>
</body>
</html>

这件事发生在我几小时前。几天前天气还不错我真的需要解决这个问题,想知道为什么。

这是因为您使用VS代码的实时服务器在浏览器中查看。

无论何时使用实时服务器,您的所有编辑都会更新到DOM,而无需手动刷新,这是VScode实时服务器的主要功能之一。VS代码通过与呈现的HTML页面建立单独的WebSocket连接来处理此问题,通过该连接可以在编辑文件时更改dom。

因此,每当您呈现HTML页面时,VS代码都会添加一些额外的javascript代码(与WebSocket相关,并重新加载DOM或CSS(,通过这些代码可以处理我上面提到的事情。

注意:此代码不会以任何方式损害您的实际代码。如果你仍然想避免这种情况,你可以直接转到文件的路径,用浏览器打开

希望这个解释对你有帮助!

最新更新