亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

網(wǎng)頁(yè)水印SDK的實(shí)現(xiàn)

gggggggbong / 609人閱讀

摘要:在網(wǎng)站瀏覽中,常常需要網(wǎng)頁(yè)水印,以便防止用戶截圖或錄屏暴露敏感信息后,追蹤用戶來(lái)源。如我們常用的釘釘軟件,聊天背景就會(huì)有你的名字。

在網(wǎng)站瀏覽中,常常需要網(wǎng)頁(yè)水印,以便防止用戶截圖或錄屏暴露敏感信息后,追蹤用戶來(lái)源。如我們常用的釘釘軟件,聊天背景就會(huì)有你的名字。那么如何實(shí)現(xiàn)網(wǎng)頁(yè)水印效果呢?

網(wǎng)頁(yè)水印SDK,實(shí)現(xiàn)思路

1.能更具獲取到的當(dāng)前用戶信息,如名字,昵稱,ID等,生成水印
2.生成一個(gè)Canvas,覆蓋整個(gè)窗口,并且不影響其他元素
3.可以修改字體間距,大小,顏色
4.不依賴Jquery
5.需要防止用戶手動(dòng)刪除這個(gè)Canvas

實(shí)現(xiàn)分析 初始參數(shù)
    size: 字體大小
    color: 字體顏色
    id: canvasId
    text: 文本內(nèi)容
    density: 間距
    clarity: 清晰度
    supportTip: Canvas不支持的文字提示
生成Canvas

根據(jù)id生成Canvas,畫(huà)布大小為window.screen大小,若存在原有老的Canvas,清除并重新生成。

畫(huà)布固定定位在可視窗口,z-index為-1

    let body = document.getElementsByTagName("body");
    let canvas = document.createElement("canvas");
    canvas.style.cssText= "position: fixed;width: 100%;height: 100%;left:0;top:0;z-index: -1;";
    body[0].appendChild(canvas);
指紋生成算法
      let canvas = document.getElementById(this.params.id);
      let cxt = canvas.getContext("2d");
      let times = window.screen.width * this.params.clarity / this.params.density;//橫向文字填充次數(shù)
      let heightTimes = window.screen.height * this.params.clarity * 1.5/ this.params.density; //縱向文字填充次數(shù)
      cxt.rotate(-15*Math.PI/180); //傾斜畫(huà)布
   
      for(let i = 0; i < times; i++) {
        for(let j = 0; j < heightTimes; j++) {
          cxt.fillStyle = this.params.color;
          cxt.font = this.params.size + " Arial";
          cxt.fillText(this.params.text, this.params.density*i, j*this.params.density);
        }
      }
防止用戶刪除

使用定時(shí)器,定時(shí)檢查指紋是否存在

    let self = this;
    window.setInterval(function(){
    if (!document.getElementById(self.params.id)) {
    self._init();
    }
    }, 1000);
項(xiàng)目編譯

使用glup編譯

    var gulp = require("gulp"),
        uglify = require("gulp-uglify"),
        babel = require("gulp-babel");
    gulp.task("minify", function () {
        return gulp.src("./src/index.js") // 要壓縮的js文件
        .pipe(babel())
        .pipe(uglify())
        .pipe(gulp.dest("./dist")); //壓縮后的路徑
    });
指紋效果

效果地址

https://tianshengjie.cn/apps/...

項(xiàng)目地址

Github: https://github.com/Jay-tian/w...
Npm包: https://www.npmjs.com/package...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/101846.html

相關(guān)文章

  • 【網(wǎng)易云信】淺談視頻直播 iOS 端技術(shù)

    摘要:目前視頻的采集源主要來(lái)自攝像頭采集屏幕錄制從視頻文件讀取推流。音視頻處理前處理模塊也是主觀影響主播觀看效果最主要的環(huán)節(jié)。用戶停止直播,反初始化,銷毀線程。跳幀可以有效的解決用戶在網(wǎng)絡(luò)不好的情況下,直播卡頓的問(wèn)題。 隨著網(wǎng)絡(luò)基礎(chǔ)建設(shè)的發(fā)展和資費(fèi)的下降,在這個(gè)內(nèi)容消費(fèi)升級(jí)的時(shí)代,文字、圖片無(wú)法滿足人們對(duì)視覺(jué)的需求,因此視頻直播應(yīng)運(yùn)而生。承載了實(shí)時(shí)性Real-Time和交互性的直播云服務(wù)是直...

    xiyang 評(píng)論0 收藏0
  • 拍照黨福利駕到 華為云微認(rèn)證教你實(shí)現(xiàn)圖片壓縮和水印添加

    摘要:拍照黨福利駕到華為云微認(rèn)證教你實(shí)現(xiàn)圖片壓縮和水印添加在手機(jī)拍照成為日常的今天,用照片記錄生活已成為人們的一種習(xí)慣。華為云微認(rèn)證將總共送出個(gè)免費(fèi)機(jī)會(huì),獎(jiǎng)項(xiàng)公布時(shí)間月日。 拍照黨福利駕到 華為云微認(rèn)證教你實(shí)現(xiàn)圖片壓縮和水印添加 在手機(jī)拍照成為日常的今天,用照片記錄生活已成為人們的一種習(xí)慣。拍照容易處理難,面對(duì)手機(jī)相冊(cè)中大量的照片,你是否也苦惱過(guò)?刪,舍不得;上傳,會(huì)不會(huì)被盜圖?能否發(fā)出足夠...

    MadPecker 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<