Chrome控制台中显示的HTML多行“ style = -lns…”

问题描述 投票:1回答:1

出于某种原因,我开始在控制台中看到此内容,但不知道为什么:

screenshot_of_html

这里是我的代码中的全部。

<!DOCTYPE html>
<html lang="en">
<head>
  <title>JS Sandbox: Section 2</title>
</head>
<body>
  <h1>JS Sandbox: Section 2</h1>
  <!-- <script src="app.js"></script> -->
</body>
</html>

有人知道为什么会发生这种情况,我怎么能隐藏它或将其恢复为只有<html lang="en">的默认值?

注意:我正在使用VSC

javascript html
1个回答
0
投票

[如果要从所有站点的HTML标记中删除--lns属性,一种选择是使用在所有站点上运行的用户脚本,该脚本遍历<html>上的样式属性,并以它们开头的方式将其删除--lns

// ==UserScript==
// @name         Remove HTML lns
// @match        *://*/*
// @grant        none
// ==/UserScript==

const html = document.documentElement;
const style = html.getAttribute('style');
const cleanedStyle = style
  .split(' ')
  .filter(str => !str.startsWith('--lns'))
  .join(' ');
html.setAttribute('style', cleanedStyle);

您将需要一个Tampermonkey之类的用户脚本管理器。

如果这似乎不起作用,则可能会在用户脚本加载后[[之后中添加属性,在这种情况下,您可以将用户脚本的整个代码放在setTimeout中(或放在DOMContentLoaded上),例如

setTimeout(() => { // code goes here }, 2000);
这样,当您检查DOM时,它将变得干净。

Something

会将所有这些属性添加到<html>,可能是扩展名-删除属性可能会导致添加的所有内容停止正确显示。您可能可以通过逐一浏览浏览器扩展并将其禁用,然后查看何时出现style属性上的所有垃圾来找出原因。如果您可以找出原因,则也可以仅禁用扩展程序,但是您将失去该扩展程序提供的任何其他功能)
© www.soinside.com 2019 - 2024. All rights reserved.