我不认为我想要的是可能的,但我想无论如何我都会问!
是否有一种方法可以在初始HTML文件中抓取内容,修改它,然后将其添加到DOM之前它已经渲染了吗?
例如我有一个HTML文件:
<body>
<div>Something here</div>
</body>
在解析HTML文件时将<div>
添加到DOM之前,是否有一种方法可以拦截它?
我不想修改它在之后为清晰起见,已添加到页面中。
另一个例子,如果我有一个<img src="someimage.jpg">
有一种方法来改变src
属性之前的图像被添加到DOM,所以请求永远不会发生。
很高兴在<head>
中使用内联JS(好吧,我假设这是我必须做的,如果这实际上是可能的。)
我知道一旦我有了一个service worker,这一切就变得武断了,但我正在假设一个冷缓存,没有外部文件(这是为了优化"在文件夹之上")。内容主要是)。
一种廉价而简单的防止HTML呈现的方法是将其包裹在<template>
中。
模板将在页面加载期间解析像任何正常的HTML,但放在不同的documentFragment
s而不是被渲染,等待被操纵,克隆或插入任何地方你想当你准备渲染。
HTTP请求不会被触发。
<template id="some_tpl">
<img src="someimage.jpg">
</template>
const template = document.getElementById('some_tpl');
const templateContent = template.content;
document.body.appendChild(templateContent);