Created
July 9, 2019 07:37
-
-
Save ufologist/78d064c8e2ff76d962ae4311ed50ad22 to your computer and use it in GitHub Desktop.
简易水印
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
<meta http-equiv="X-UA-Compatible" content="ie=edge"> | |
<title>简易水印</title> | |
<style> | |
html, | |
body { | |
height: 100%; | |
margin: 0; | |
} | |
iframe { | |
width: 100%; | |
height: 100%; | |
border: none; | |
} | |
</style> | |
</head> | |
<body> | |
<iframe src="https://baidu.com"></iframe> | |
<script> | |
(function() { | |
/** | |
* 添加全屏水印 | |
* | |
* @param {string} text 水印文字 | |
* @see https://musicfe.cn/page/15 | |
*/ | |
function appendFullPageMask(text) { | |
// 水印样式 | |
var maskStyle = 'position:fixed;top:0;left:0;right:0;font-size:0;pointer-events:none;'; | |
var maskContentStyle = 'display:inline-block;width:20%;margin-bottom:80px;font-size:12px;color:#aaa;transform:rotate(-30deg);'; | |
// 水印容器元素 | |
var maskEl = document.createElement('div'); | |
maskEl.setAttribute('style', maskStyle); | |
// 水印内容元素 | |
var maskContent = document.createElement('span'); | |
maskContent.setAttribute('style', maskContentStyle); | |
maskContent.appendChild(document.createTextNode(text)); | |
maskEl.appendChild(maskContent); | |
// 计算需要多少个水印内容才能铺满整屏 | |
var count = 0; | |
document.body.appendChild(maskEl); | |
var windowWidth = window.innerWidth; | |
var windowHeight = window.innerHeight; | |
// 注意这里是非准确计算 | |
var maskContentWidth = maskContent.getBoundingClientRect().width; | |
var maskContentHeight = maskContent.getBoundingClientRect().height; | |
var col = Math.floor(windowWidth / maskContentWidth); | |
var row = Math.ceil(windowHeight / maskContentHeight); | |
count = col * row; | |
document.body.removeChild(maskEl); | |
maskEl.removeChild(maskContent); | |
// 添加水印内容 | |
for (var i = 0; i < count; i++) { | |
var maskContent = document.createElement('span'); | |
maskContent.setAttribute('style', maskContentStyle); | |
maskContent.appendChild(document.createTextNode(text)); | |
maskEl.appendChild(maskContent); | |
} | |
document.body.appendChild(maskEl); | |
} | |
appendFullPageMask('帐号水印'); | |
})(); | |
</script> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment