效果图
代码
<html>
<div>124</div>
<div>124</div>
<div>124</div>
<div>124</div>
<div>124</div>
</html>
<script>
function createMask() {
let canvas = document.createElement("canvas");
canvas.id = "__canvas";
canvas.width = "120";
canvas.height = "70";
let ctx = canvas.getContext("2d");
ctx.fillStyle = "rgba(200, 180, 150, 0.5)";
ctx.rotate((45 * Math.PI) / 180);
ctx.fillText("设置水印文本", 30, 20);
let src = canvas.toDataURL("image/png");
let waterMaskDiv = document.createElement("div");
waterMaskDiv.style.position = "fixed";
waterMaskDiv.style.zIndex = "-1";
waterMaskDiv.id = "water-mark";
waterMaskDiv.style.top = "0";
waterMaskDiv.style.left = "0";
waterMaskDiv.style.height = "100%";
waterMaskDiv.style.width = "100%";
waterMaskDiv.style.pointerEvents = "none";
waterMaskDiv.style.backgroundImage = "URL(" + src + ")";
document.body.appendChild(waterMaskDiv);
}
createMask();
let config = {
childList: true,
attributes: true,
characterData: true,
subtree: true,
attributeOldValue: true,
characterDataOldValue: true,
};
const mutationCallback = (mutationList) => {
for (let mutation of mutationList) {
mutation.removedNodes.forEach(function (item) {
if (item.id === "water-mark") {
createMask();
console.log('创建了')
}
});
}
};
let observer = new MutationObserver(mutationCallback);
observer.observe(document.body, config);
</script>