假设我有以下HTML源代码:
<html>
<head>
<script src="myscript.js"></script>
<meta charset="utf-8">
<script>/*other script*/</script>
<link rel="stylesheet" ...>
</head>
<body>
<div>...</div>
</body>
</html>
myscript.js代码是什么样子的,以防止添加DOM元素,就像源代码是原始代码一样?
<html>
<head>
<script src="myscript.js"></script>
</head>
<body>
</body>
</html>
我已经尝试过为所有节点覆盖JavaScriptDOM操作方法,如.append
、.prepend
、.appendChild
、.inserBefore
等。尽管如此,浏览器还是添加了<meta>
、<script>
、<link>
、<div>
等。javascript覆盖似乎只影响javascript创建的节点。。。这是有意义的IMO.
问题是:有没有一种方法可以防止添加作为下载HTML源代码一部分的DOM项?
您正在寻找Window.stop
:
window.stop((在当前浏览上下文中停止进一步的资源加载,相当于浏览器中的停止按钮。
由于脚本是如何执行的,此方法不能中断其父文档的加载,但会停止其图像、新窗口和其他仍在加载的对象。
这里有一个例子:
<div>Div #1</div>
<p>Paragraph #1</p>
<div>Div #2</div>
<script>
window.stop();
</script>
<p>Paragraph #2</p><!-- This element is not rendered -->