首页  >  文章  >  web前端  >  [JS]点出统计器_javascript技巧

[JS]点出统计器_javascript技巧

WBOY
WBOY原创
2016-05-16 19:27:33903浏览

ff   默认不让改 status
opera9   测试通过
ie6   测试通过

这东西是给统计部门用的,分析用户习惯以改良网站布局。
只是写着玩的小东西,所以很多地方不太理想。

save() 方法是保存记录的,没仔细做,应该再加个判断浏览器,然后决定用 img 还是 iframe,以保证 request 一定能发出去.
onclick() 方法是触发事件时执行的

使用方法:

在任意页面中加入
script src="clickout.js">
最好是放在  前面,目的是防止 onclick 事件覆盖。


[Ctrl A 全选 注:
如需引入外部Js需刷新才能执行<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]点出统计器_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>]
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn