ff 기본적으로 상태 변경은 허용되지 않습니다.
opera9 테스트 통과
ie6 테스트 통과
이것은 통계 부서에서 사용자 습관을 분석하여 웹 사이트 레이아웃을 개선하는 데 사용됩니다.
그저 재미삼아 쓴 글이라 적합하지 않은 곳이 많습니다.
save() 메소드는 기록을 저장하는 것입니다. 신중하게 수행하지 않으면 판단 브라우저를 추가한 다음 img 또는 iframe을 사용하여 요청이 전송되는지 확인해야 합니다.
onclick() 메소드는 이벤트가 발생했을 때 실행되도록
을 사용하는 방법입니다:
추가
script src="clickout.js"> script>를 모든 페이지에 추가하세요.
앞에 두는 것이 가장 좋습니다. 목적은 onclick 이벤트 적용을 방지하는 것입니다.
ì¸ë¶ J를 ëì í´ì¼ íë ê²½ì° ì¤ííë ¤ë©´ ìë¡ ê³ ì³ì¼ í©ëë¤ <script> /* * 说æï¼ç¹åºç»è®¡å¨ * ä½è ï¼éå¨ * æ¥æï¼2006-07-25 * çæ¬ï¼v1.0 */ <P>function ClickOut() { this.oCO = null; this.src_onclick = null; this.isDEBUG = true || "status"; <P> this.debug = function(arg) { if( this.isDEBUG == "status" ) window.status = arg.toString(); else if ( this.isDEBUG ) alert(arg.toString()); } <P> this.save = function() { var sUrl = "clickout.php?"; sUrl += "tag=" + encodeURIComponent(this.click_tag); sUrl += "&type=" + encodeURIComponent(this.click_type); sUrl += "&src=" + encodeURIComponent(this.click_src); sUrl += "&text=" + encodeURIComponent(this.click_text); this.oCO = document.createElement('<div id="ClickOut" style="width:0px;height:0px;">'); document.body.appendChild(this.oCO); document.getElementById("ClickOut").innerHTML = '<img src="' + sUrl + '" style="max-width:90%" style="max-width:90%" height="0px" \/ alt="[JS] statistician_javascript 스킬 클릭" >'; return true; } <P> this.onclick = function(args) { if( this.src_onclick != null ) this.src_onclick(e); var obj = event.srcElement; var tag = obj.tagName.toLowerCase(); this.click_id = obj.id?obj.id:null; this.click_class = obj.className?obj.className:null; this.click_name = obj.name?obj.name:null; this.click_tag = tag; this.click_parent = obj; this.click_obj = obj; this.click_path = tag; <P> if( tag == "a" ) { this.click_type = "text"; this.click_src = obj.href; this.click_text = obj.innerHTML; } else if ( tag == "img" ) { this.click_type = "pic"; this.click_src = obj.src; this.click_text = obj.alt; } else if ( tag == "font" || tag == "b" || tag == "strong" ) { this.click_type = "text"; this.click_src = ""; this.click_text = obj.innerHTML; } else { this.click_type = "layer"; this.click_src = "" ; this.click_text = obj.innerHTML; } this.GetParent(); <P> this.debug(this.click_path); doSave(); } <P> this.GetParent = function() { if( !this.click_parent.parentNode.tagName ) return; this.click_parent = this.click_parent.parentNode; this.click_path = this.click_parent.tagName.toLowerCase() + "[ " + (this.click_parent.id?("ID:" + this.click_parent.id):"") + (this.click_parent.className?(" ,CLASS:" + this.click_parent.className):"") + (this.click_parent.name?(" ,NAME:" + this.click_parent.name):"") + " ]" + ">" + this.click_path; this.GetParent(); } } <P>// å®ä¾ var objCO = new ClickOut(); // ä¿ååæç onclick äºä»¶ objCO.src_onclick = document.onclick; <P>function click_tmp() { objCO.onclick(); } function doSave() { objCO.save(); } <P>// bind event document.onclick = click_tmp; <P> <P> </script>]