最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

用js實現(xiàn)html頁面水印

2023-04-10 19:20 作者:w2sft  | 我要投稿

用js實現(xiàn)html頁面水印

要在 HTML 頁面中添加水印并防止截圖,可以使用 JavaScript。以下是實現(xiàn)的基本步驟:

1、在 HTML 中添加一個 div 元素作為水印容器,并設(shè)置其樣式。

2、使用 JavaScript 動態(tài)生成水印內(nèi)容,并將其添加到水印容器中。

3、通過 CSS 設(shè)置水印文本的樣式,例如顏色、字體大小等。

4、使用 CSS 將水印容器置于所有其他元素的最頂層,從而覆蓋整個頁面。

5、監(jiān)聽窗口的 resize 和 scroll 事件,以便及時更新水印位置。

6、使用 Canvas 繪制圖片或者使用 CSS 的 mix-blend-mode 屬性來實現(xiàn)防截圖效果。

下面是一個示例代碼片段:


<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Watermark Example</title>

<style>

#watermark {

position: fixed;

top: 0;

left: 0;

width: 100%;

height: 100%;

z-index: 9999;

pointer-events: none;

}


#watermark span {

font-size: 24px;

color: #ccc;

position: absolute;

transform: rotate(-30deg);

padding:100px;

pointer-events: none;

}

</style>

</head>

<body>

<div id="watermark"></div>

<script>

function createWatermark() {

var watermark = document.getElementById('watermark');

var angle = -30;

var top = -30;

var text = 'My Watermark';


for (var i = 0; i < 10; i++) {

var span = document.createElement('span');

span.style.left = i * 200 + 'px';

span.style.top = i * top + 'px';

span.style.webkitTransform = 'rotate(' + angle + 'deg)';

span.style.MozTransform = 'rotate(' + angle + 'deg)';

span.style.msTransform = 'rotate(' + angle + 'deg)';

span.style.OTransform = 'rotate(' + angle + 'deg)';

span.style.transform = 'rotate(' + angle + 'deg)';

span.appendChild(document.createTextNode(text));

watermark.appendChild(span);

angle += 15;

top += 15;

}

}


createWatermark();


window.addEventListener('resize', function() {

createWatermark();

});


window.addEventListener('scroll', function() {

createWatermark();

});


// 防截圖

var canvas = document.createElement('canvas');

canvas.width = window.innerWidth;

canvas.height = window.innerHeight;

canvas.style.position = 'fixed';

canvas.style.top = 0;

canvas.style.left = 0;

canvas.style.pointerEvents = 'none';

canvas.style.mixBlendMode = 'multiply';

document.body.appendChild(canvas);

var ctx = canvas.getContext('2d');

ctx.fillRect(0, 0, canvas.width, canvas.height);

</script>

</body>

</html>

這個示例代碼添加了一個水印容器,并在其中添加了一些旋轉(zhuǎn)的文本。使用 CSS 將水印容器置于最頂層,并禁用了其指針事件,以防止干擾用戶操作。同時在窗口 resize 和 scroll 事件中更新水印位置,以適應(yīng)頁面變化。

如果想保護上面的JavaScript代碼邏輯,可以用JShaman進行JavaScript代碼混淆加密,加密后的代碼不可讀、可起到防分析的作用。

此外,這個示例代碼還使用 Canvas 繪制了一個與頁面大小相同的黑色矩形,并將其與水印容器疊加在一起。由于 mix-blend-mode 屬性的作用,截圖時就無法完整地復(fù)制水印文本,從而達到防截圖的效果。

效果:



用js實現(xiàn)html頁面水印的評論 (共 條)

分享到微博請遵守國家法律
东宁县| 南投市| 武乡县| 罗甸县| 西贡区| 无极县| 临城县| 甘孜| 晋宁县| 普安县| 通渭县| 大方县| 西充县| 商河县| 兰溪市| 科技| 安化县| 呼和浩特市| 澄迈县| 高邮市| 伊宁县| 梁平县| 新沂市| 呈贡县| 额敏县| 湖北省| 道真| 巴彦县| 犍为县| 昌图县| 都匀市| 绥江县| 姚安县| 九台市| 陆河县| 井陉县| 福建省| 徐闻县| 临潭县| 四平市| 安国市|