JavaScript如何记录页面点击!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript如何记录页面点击!相关的知识,希望对你有一定的参考价值。

在一个页面内,有两个超链接
分别连接到http://AAA.com和http://BBB.com

这时候我点击其中一个链接,直接打开了网页.表面上看没有任何不同的.
但此时页面内的javascript已经记录了我的这次点击和我点击的地址.
然后将我点击的记录传递给ASP,由ASP写入数据库!

通过javascript获取点击数,然后通过ajax传到后台进行处理,后台请自行添加,代码如下,传输路径和参数需要自行修改,请参考

/////////////////////////////

<html>
<head>
<script language="javascript">
//创建 XMLHttpRequest 对象
var xmlhttp;

function CreateXmlHttpRequest()

// 先定义一个变量,并赋初值为 false,方便后面判断对象是否创建成功 // 使用 try 来捕获创建失败,再换个方法来创建
try
// 在 Mozilla 中使用这种方式来创建 XMLHttpRequest 对象
xmlhttp=new XMLHttpRequest;
catch(e)
try
// 如果不成功,那么尝试在较新 IE 里的方式
xmlhttp=new ActiveXObject("MSXML2.XMLHTTP");
catch(e2)
try
// 失败则尝试使用较老版本 IE 里的方式
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
catch(e3)
// 还是失败,那么就认为创建失败……
xmlhttp=false;



// 如果创建 XMLHttpRequest 对象失败,那么提醒访问者该页面可能无法正确访问
if (!xmlhttp)
alert("XMLHttpRequest init Failed!");



//读取规则
function GetXmlHttp(type,sysid,filename)
var xmldom = new ActiveXObject("Microsoft.XMLDOM");
CreateXmlHttpRequest();
xmlhttp.open("POST","a.asp", true);

// 因为使用异步方式所以要在 XMLHttpRequest 对象的状态改变时做相应的处理
xmlhttp.onreadystatechange=function()

// 如果 XMLHttpRequest 的状态为4,应该是ready来的,那么继续处理
if(xmlhttp.readyState==4)
// 需要判断返回状态是否为200 OK,有些情况如文件不存在,就为返回404
if(xmlhttp.status==200)
var s = xmlhttp.responseText;



// 发送请求,因为是GET,所以send的内容为null
xmlhttp.send(null);



/////////////////////////////////////////////
///代码处理程序
////////////////////////////////////////////
var id1=0;
var id2=0;
function addNum(obj)
if(obj.id=="id1")
id1++;
else if(obj.id == "id2")
id2++;



</script>
</head>

<body>
<a href="a.html" id="id1" onclick="addNum(this)">aaa</a>
<a href="a.html" id="id2" onclick="addNum(this)">bbb</a>
</body>
</html>
参考技术A 页面上放一个隐藏(width=0)的iframe。

<a href="http://aaa.com" onclick="addCount('aaa')">http://aaa.com</a>

<script language="javascritp">
// com参数, 用来区别aaa还是bbb网站.
function addCount(com)
document.ifrm.src = "aaa.asp?com="+com;

</script>

aaa.asp中,将相应的计数器加1即可。

不用iframe,用ajax提交也是一种方案。
参考技术B sql="insert into sjb (xingming, ztneirong, shuxue) values ('"+tianjiaxingming+"',‘"+tianjneirong+"’,"+tianjiashuxue+")"; 参考技术C 思路:
http://AAA.com

http://BBB.com

只要页面运行到 AAA 或 BBB 就判断是不是通过点击超连接过来的,判断方法可以在前面的页面写一个hidden,以获取这个hidden的值判断,客户在之前的页面,点的是什么!(判断)主要是防止,页面被直接打开时,不知道插入哪一条记录

判断好了,就可以运行sql插入相应数据库啦
参考技术D 很简单,
用ajax
第5个回答  2008-03-01 <a href='aaa.html' onclick='fun()'>aaa.html</a>
然后写fun()函数,具体内容就是典型的ajax了.
xhttprequest异步发送请求到服务器端,服务器端再来操作相应数据库.
如果实在不会(我感觉还是不难的,可以学习一下),教你一个简单的办法.
fun()函数动态新建一个iframe,然后iframe的src为一个计数的网页,这个页面每访问一次,就会让访问数加1,也就是操作一次数据库.
这样也同样能实现效果了.
至于好坏,自然第一个强了.不过如果不那么重要的话,第二种也没事.简单些.

以上是关于JavaScript如何记录页面点击!的主要内容,如果未能解决你的问题,请参考以下文章

使用 JavaScript 记录热图的用户数据

java web中点击一个类似按钮的怎么关闭当前的这个页面而返回到前一个页面(在不出现新页面的情况下)

JavaScript入门

web基础-JavaScript

如何使用javascript记录链接点击,然后自动点击Qualtrics中的下一步按钮?

JavaScript中图像的相对路径