javascript - HTML 文档中的不可见脚本标记,其中包含 websockets 代码
问题描述
我有一个简单的 html 页面
<!DOCTYPE html>
<html>
<head>
<title>Sample</title>
</head>
<body>
<div>
Simple div
</div>
</body>
</html>
我在 Chrome 中打开了这个 HTML 文档。然后在调试器工具中,我执行以下
document.getElementsByTagName("script")[0]
我得到了一个脚本标签(我从来没有在 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>
谁能告诉我这是什么,为什么会在那里?
解决方案
它来自 vscode-live-server: https ://github.com/ritwickdey/vscode-live-server/blob/master/lib/live-server/injected.html
推荐阅读
- flutter - 如何在 Flutter video_player 上流式传输视频?
- .net - 变量“A”或“B”作为变量“C”
- c++ - 文本文件在不同客户端的显示方式不同
- ruby - TOPLEVEL_BINDING 和绑定有什么区别?
- tensorflow - 使用 tensorflow 和 colab 进行训练
- amazon-web-services - Aws s3 按版本 ID 选择对象内容
- python - 如何将数据框转换为从到对?
- javascript - 我怎样才能只显示来自 API 的每个标题、署名、部分和摘要?
- .net - 注入的 Transient 服务仍然在 DbContext 中跟踪 ChangeTracker 中的实体
- javascript - 这个简单的练习有什么问题?节点js