我正在尝试跟踪特定链接的点击次数。但首先我需要为所有链接测试我的脚本,无论id。
我在头标记之间有这个:
<script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js'></script>
在身体标签之间的某处,我有:
<script type="text/javascript">
$(document).ready(function() {
$('a').click(function(e) {
// ++++ Not sure what this condition does ++++
if($(this).attr("href").indexOf("http")==1) {
//prevent the redirect;
e.preventDefault();
//do your tracking
$.ajax({
url: 'tracking.php',
data: "link=" + $(this).attr("href"),
complete: function(){
//now do the redirect
window.location = $(this).attr("href");
}
});
}
});
});
</script>
只是为了测试,tracking.php看起来像这样:
<?php
$tckfile = fopen("tracking.txt", "w") or die("Unable to open file!");
$txt = "Test" . "\r\n";
fwrite($tckfile, $txt);
fclose($tckfile);
?>
我做了更改并重新加载了我的页面,但似乎没有用。我在stackoverflow上找到了这个代码,但不确定它是否有效。
有什么想法吗?
谢谢!
答案 0 :(得分:0)
删除indexOf("http")
,或者不计算http
的链接。
<script type="text/javascript">
$(document).ready(function() {
$('a').click(function(e) {
if($(this).attr("href")){
//prevent the redirect;
e.preventDefault();
//do your tracking
$.ajax({
url: 'tracking.php',
data: "link=" + $(this).attr("href"),
complete: function(){
//now do the redirect
window.location = $(this).attr("href");
}
});
}
});
});
</script>