JS為網頁添加文字水印【原創】


        最近需要實現為網頁添加水印的功能,由於水印的信息是動態生成的,而百度谷歌上的方法往往都是為網頁添加圖片水印或為圖片添加水印,而為網頁添加文字水印相關資料較少,於是就自己動手寫了這個代碼。


        通常加動態水印的思路是:后台服務端根據參數動態生成圖片,前端設置body的background-url或者利用遮罩層+事件委托的方式實現。

 

        本文在這里主要是利用HTML5中canvas來實現動態生成圖片,再利用body設置background-url來實現為網頁增加文字水印

 

代碼如下:

 

/**
* 為網頁添加文字水印
* @param {String} str 要添加的字符串
*/
function addWaterMarker(str){


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

body.appendChild(can);

can.width=400;
can.height=200;
can.style.display='none';


var cans = can.getContext('2d');
cans.rotate(-20*Math.PI/180);
cans.font = "16px Microsoft JhengHei";
cans.fillStyle = "rgba(17, 17, 17, 0.50)";
cans.textAlign = 'left';
cans.textBaseline = 'Middle';
cans.fillText(str,can.width/3,can.height/2);

body.style.backgroundImage="url("+can.toDataURL("image/png")+")";

}

 

        讀者可以在任意的網站,打開F12的Console運行上段代碼,然后再調用該方法,即可看到效果(如果網頁利用其他遮罩層實現背景圖片,該方法則無法生效,應該考慮利用遮罩層+事件委托的方案):

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM