网站推广ID号跟踪

xxx.html?referraluserid=123

referraluserid.js   JS源文件

referraluserid的参数会自动绑定页面A标签

有时是Post 表单跳转时不传数会丢失,这时可以根据后台或其它方式重新打印到前台页面,让Js重新获取到

<script type="text/javascript">

  var referraluserid = '<%=BackReferraluserid%>';// BackReferraluserid 为后台值绑定到Js变量

</script>

紧接着引用JS文件

<script type="text/javascript" src="/Scripts/referraluserid.js"></script>

document.write("<input type='hidden' id='referraluserid' name='referraluserid' />");

$(document).ready(function () {
$("a").each(function () {
if ($(this).attr("href") == "#" || $(this).attr("href") == "") {
$(this).attr("href", "/");
}
});
addUrlParse("referraluserid");
});
function getUrlParams() {
var search = window.location.search;
var tmparray = search.substr(1, search.length).split("&");
var paramsArray = new Array;
if (tmparray != null) {
for (var i = 0; i < tmparray.length; i++) {
var reg = /[=|^==]/;
var set1 = tmparray[i].replace(reg, '&');
var tmpStr2 = set1.split('&');
var array = new Array;
array[tmpStr2[0]] = tmpStr2[1];
paramsArray.push(array);
}
}
return paramsArray;
} function GetQueryString(name) {
var paramsArray = getUrlParams();
if (paramsArray != null) {
for (var i = 0; i < paramsArray.length; i++) {
for (var j in paramsArray[i]) { if (j.toLowerCase() == name.toLowerCase()) {
return paramsArray[i][j];
}
}
}
}
return null;
} // typeof addUrlParse == "function" ? addUrlParse("referraluserid") : "";
function addUrlParse(ruid) { var ruidValue = GetQueryString(ruid);
if (typeof (referraluserid) != "undefined")
if (referraluserid != null && referraluserid != undefined && typeof referraluserid != "object" && (ruidValue == null || ruidValue == "" || ruidValue == undefined)) {
ruidValue = referraluserid;
}
if (ruid != "" && ruid != null && ruidValue != "" && ruidValue != null) {
var aStr = ruid + "=" + ruidValue; var url = window.location.search;
try {
$("a").each(function (i) {
var hrefstr = $(this).attr("href");
if (hrefstr != null && hrefstr != "" && hrefstr.indexOf("javascript:") < 0) {
var jinghao = "";
if (hrefstr.indexOf("#") > 0) {
var arr = hrefstr.split("#");
hrefstr = arr[0];
jinghao = arr[1];
}
if (hrefstr.indexOf("#") == -1) { if (hrefstr.toLowerCase().indexOf(ruid + "=") == -1)
hrefstr = hrefstr + (hrefstr.indexOf("?") > 0 ? "&" + aStr : "?" + aStr);
if (jinghao != "") {
hrefstr += "#" + jinghao;
}
$(this).attr("href", hrefstr);
} }
});
}
catch (e) {
alert(e);
}
}
}
// var referraluserid = typeof getReferraluserid == "function" ? getReferraluserid() : "";
function getReferraluserid() {
return GetQueryString("referraluserid");
} //var and_href = typeof getReferraluserid_href == "function" ? getReferraluserid_href("?") : "";
function getReferraluserid_href(a) {
var href = "";
var referraluserid = GetQueryString("referraluserid");
if (referraluserid != null && referraluserid != undefined && referraluserid != "")
href = a + "referraluserid=" + referraluserid; return href;
}

referraluserid推广ID号跟踪JS处理A标签的更多相关文章

  1. 现代浏览器原生js获取id号方法

    <div id="tests" class="a b c" style="color:#f00">123</div> ...

  2. 【MVC 2】MVC+EF框架结构实例:注册ID号验证

    导读:本篇博客,将通过一个实例,详细介绍MVC+EF的应用.原理性的东西或者说是进一步的解耦和,请看博客: [框架结构 3]MVC+EF实体框架-原理解析.在这里,仅用MVC框架和一个EF生成的Mod ...

  3. 拿到添加对象的id号方法

    以前Hibernate添加对象,想拿到id号的时候都是根据id排序拿到第一条 ,才知道 这样也可以 /**         * @Description: 添加一个角色信息        * @ret ...

  4. 黄聪:WordPress 多站点建站教程(五):获取子站点用户信息(通过输入站点ID号来获取该站点的所有用户)

    得到站点ID为1的用户 <ul> <?php $blogusers = get_users('blog_id=1'); foreach ($blogusers as $user) { ...

  5. mysql删除重复记录语句,删除除了 id 号不同,其他都相同的学生冗余信息

    /** 在Mysql下执行: delete from my.stu where id not in( select min(id) id from my.stu group by code) ; 用途 ...

  6. VC 为静态控件添加事件(修改ID号以后添加事件)

    操作系统:Windows 7软件环境:Visual C++ 2008 SP1本次目的:为静态控件添加事件,如:STATIC.Picture Control等等 有时候我们找到一个图片,为对话框背景添加 ...

  7. 织梦(dedecms)如何清空全部文章和删除后新增文章id号归1的方法

    很多朋友在使用织梦程序做网站的过程中,难免需要添加一些测试文章用于测试网站功能模板等,还有些人朋友网站改版需要变更内容的时候,面对着众多的老文章后总是一筹莫展! 由于织梦后台并不自带一键删除整站文章的 ...

  8. 删除除了 id 号不同,其他都相同的学生冗余信息

    删除除了 id 号不同,其他都相同的学生冗余信息2.学生表 如下:id 号 学号 姓名 课程编号 课程名称 分数1 2005001 张三 0001 数学 692 2005002 李四 0001 数学 ...

  9. 基于ARM-contexA9-Linux驱动开发:如何获取板子上独有的ID号

    每个CPU,都有它固定的ID号,ID号就是这个CPU唯一的标识,它可能隐含着CPU的生产日期,版本号,型号等等,那么,在我们的这款友善之臂Tiny4412的板子上,我的这个CPU的ID又是多少呢?从我 ...

随机推荐

  1. 设a、b、c均是0到9之间的数字,abc、bcc是两个三位数,且有:abc+bcc=532。求满足条件的所有a、b、c的值。

    题目描述 设a.b.c均是0到9之间的数字,abc.bcc是两个三位数,且有:abc+bcc=532.求满足条件的所有a.b.c的值. 输入描述: 题目没有任何输入. 输出描述: 请输出所有满足题目条 ...

  2. Java_4 引用类型变量 Scanner与Random的使用

    1.Scanner的使用 获得键盘输入的功能. 2.Random的使用 Random ran = new Random();//创建引用类型的变量 int number = ran.nextInt(1 ...

  3. linux命令学习之:read

    read命令从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合.该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开.在read命令后面,如果没有指定变量名,读取的数据将被自 ...

  4. FOR ALL ENTRIES的使用

    使用FOR ALL ENTRIES时注意: 1.一定要确定要有是否为空的判断 2.一定要注明两个表之间数据的关系 eg: IF GT_TJ30T[] IS NOT INITIAL.      SELE ...

  5. echarts柱形图x轴显示不全或者每隔一个不显示的问题

    问题原因可能:x轴数据间隔太小: 问题解决: 1.调整间隔属性 xAxis: { type: 'category', //坐标轴斜着显示 axisLabel: { interval:0, rotate ...

  6. Informatica_(5)高级应用

    五.高级应用21.任务分区 分区是通过并行处理来提供PowerCenter的执行效率. 分区类型包括:Database partitioning.Hash Auto-keys.Hash User-ke ...

  7. opencv中imread第二个参数的意义

    文档中是这么写的: Flags specifying the color type of a loaded image: CV_LOAD_IMAGE_ANYDEPTH - If set, return ...

  8. oracle 单表导出导入

    exp username/password@服务名 file=d:\daochu.dmp tables=(tableneme,...)

  9. iOS.Info.plist

    1. Custom message when asking for Address Book Permissions http://kevinyavno.com/blog/?p=176

  10. BZOJ1123或洛谷3469 [POI2008]BLO-Blockade

    BZOJ原题链接 洛谷原题链接 若第\(i\)个点不是割点,那么只有这个点单独形成一个连通块,其它点依旧连通,则答案为\(2\times (n-1)\). 若第\(i\)个点是割点,那么去掉这个点相关 ...