Javascript 웹 페이지 워 터 마크(비 이미지 워 터 마크)구현 코드
5631 단어 Javascript홈 페이지 워 터 마크
암호 화 후:
첨부 파일 에 있 는 파일 을 열 어 볼 수 있 습 니 다.2 단계 2.1 기본 구상 암호 화 과정 은 자 바스 크 립 트 함수 실행 과정 이기 때문에 우 리 는 먼저 자 바스 크 립 트 로 DOM 대상 을 조작 하 는 방식 을 고려 해 야 한다.기 존 HTML 페이지 에서 새 DOM 대상 은 Body 노드 아래 에 있 습 니 다.이 대상 의 길이,폭 은 모두 계산 을 거 쳐 모든 페이지 의 내용 을 덮어 쓰 는 동시에 스크롤 바 가 생기 지 않도록 합 니 다.이 대상 을 기 존 페이지 에 덮어 쓰 고 배경 그림 을 설정 하 며 투명 하 게 설정 합 니 다.새 DOM 요소 만 들 기:document 대상 의 createElement 방법 을 사용 합 니 다.요 소 를 만 든 후에 z-index 를 큰 정수 로 설정 하여 기 존 웹 페이지 의 최대 z-index 보다 커 야'덮어 쓰기'를 완성 할 수 있 습 니 다.새 대상 크기 계산:세 개의 DOM 대상 값:client Width,scrollHeight 와 client Height 를 이용 합 니 다.웹 페이지 에 서 는 가로 스크롤 바 가 나타 나 지 않 기 때문에 scrollWidth 를 사용 하지 않 고 세로 스크롤 바 를 사용 하 는 것 이 흔 합 니 다.페이지 내용 을 모두 덮어 쓰기 위해 스크롤 바 가 나타 나 지 않 았 을 때 clientHeight 를 사용 하고 스크롤 바 가 나타 나 면 scrollHeight 를 사용 합 니 다.투명 설정:알파 값 을 이용 합 니 다.알 파 는 IE 가 지원 하 는 css filter 입 니 다.2.2 변형 디 테 일 은 작은 디 테 일이 재 미 있 고 앞에서 도 언급 했 듯 이 resize 의 과정 이다.한 페이지 가 열 렸 을 때 550 px 라 고 생각해 보 세 요.×400 px,자 연 스 럽 게 550 px 생 성×400 px 크기 의 워 터 마크.그러나 사용자 가 이 를 최대 화 할 때 페이지 가 새로 고침 되 지 않 고 워 터 마크 를 만 드 는 함 수 를 다시 실행 하지 않 으 면 예전 에 생산 된 워 터 마크 사진 이 너무 작 습 니 다.아래 그림 과 같은 상황.오른쪽,아래쪽 에 워 터 마크 가 없 으 니 주의 하 세 요. 이러한 상황 에 대응 하기 위해 서 는 body 의 onresize()함수 에 대한 처리 가 필요 합 니 다.이전 정의 에 onresize()함수 가 없 으 면 onresize()를 직접 추가 합 니 다.이전에 onresize()함수 가 있 었 다 면 수정 합 니 다.2.3 최종 코드 는 프레임 페이지 가 고려 해 야 할 상황 을 고려 하여 이 방법 은 세 가지 매개 변 수 를 포함한다.목표 페이지 대상,목표 페이지 문자열,배경 그림 이다.
function GetWaterMarked(targetObj,jpgUrl,targetStr ) {
var windowobj=targetObj;
var waterMarkPicUrl=jpgUrl;
var controlWindowStr=targetStr;
if(windowobj.document.getElementById("waterMark") != null)
return;
var m = "waterMark";
var newMark = windowobj.document.createElement("div");
newMark.id = m;
newMark.style.position = "absolute";
newMark.style.zIndex = "9527";
newMark.style.top = "0px";
newMark.style.left = "0px";
newMark.style.width = windowobj.document.body.clientWidth;
if( parseInt(windowobj.document.body.scrollHeight) > parseInt(windowobj.document.body.clientHeight) )
{
newMark.style.height = windowobj.document.body.scrollHeight;
}else
{
newMark.style.height = windowobj.document.body.clientHeight;
}
newMark.style.backgroundImage = "url("+ waterMarkPicUrl +")";
newMark.style.filter = "alpha(opacity=50)";
windowobj.document.body.appendChild(newMark);
var markStr = "var sobj ="+controlWindowStr+".document.getElementById('waterMark');sobj.style.width ="+controlWindowStr+".document.body.clientWidth;sobj.style.height ="+controlWindowStr+".document.body.clientHeight;";
if(windowobj.document.body.onresize != null)
{
var oldResiae = windowobj.document.body.onresize.toString();
var oldResiaeStr = oldResiae.substr(oldResiae.indexOf("{")+1);
var oldResiaeStr= oldResiaeStr.substr(0,oldResiaeStr.lastIndexOf("}"));
oldResiaeStr+=";"+markStr;
windowobj.document.body.onresize = new Function(oldResiaeStr);
}
else
{
windowobj.document.body.onresize = new Function(markStr);
}
}
3 기 존 페이지 처 리 는 기 존의태그 에 onload 방법 을 추가 해 야 합 니 다.예 를 들 어4 첨부 프 리 젠 테 이 션 주소 http://demo.jb51.net/js/js_wartermark/baidu_mark.htm 첨부 파일 다운로드 http://xiazai.jb51.net/201003/yuanma/js_wartermark.rar
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Javascript에서 Math.max와 Math.max.apply의 차이점과 용법 상세 설명최근에 작은 사례를 만들 때 Math를 만났어요.max.apply라는 용법은 이전에 보기 드물게 재미있게 느껴졌으니 기록해 보세요. 1Math.max 문법:Math.max(n1,n2,n3,...,nX)반환값:max(...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.