如何使用javascript计算点击次数?

如何使用javascript计算点击次数?,javascript,Javascript,我可以用javascript计算链接的点击次数吗?您可以计算单个请求中的点击次数(例如,页面加载后按钮被点击的次数)。您不能计算请求之间的点击次数(在加载另一个页面或重新加载当前页面之后) 例如: <script type="text/javascript">var clicks = 0;</script> <input value="Click" type="button" onclick="clicks++"> 当然,在标记中添加一个onclick事件处

我可以用javascript计算链接的点击次数吗?

您可以计算单个请求中的点击次数(例如,页面加载后按钮被点击的次数)。您不能计算请求之间的点击次数(在加载另一个页面或重新加载当前页面之后)

例如:

<script type="text/javascript">var clicks = 0;</script>
<input value="Click" type="button" onclick="clicks++">

当然,在
标记中添加一个onclick事件处理程序函数,用于检索、递增和存储计数器变量。您可以检索并将其存储在隐藏字段中。但是,一旦离开页面,您将丢失信息。

您可以使用此脚本计算页面链接上的所有单击次数:

// This variable contains the number of clicks corresponding to the linked URLs
var clickCount = {}
// List of all a tags
,   aList = document.getElementsByTagName('a')
// Function called every time a link is clicked on
,   clickCounter = function()
    {
        clickCount[this.href] = clickCount[this.href] ? clickCount[this.href]+1 : 1;
    }
;
// The event is attached to every link having a "href" attribute
for (var i=0 ; i<aList.length, a=aList[i] ; i++)
{
    if (this.href)
    {
        a.onclick = clickCounter;
    }
}
// This example uses jQuery to send the data to a PHP script
// A POST request is sent just before the window is closed
onbeforeunload = function()
{
    $.post('/tracking.php', clickCount);
}
//此变量包含链接URL对应的单击次数
var clickCount={}
//所有a标签的列表
,aList=document.getElementsByTagName('a')
//每次单击链接时调用的函数
,单击计数器=函数()
{
clickCount[this.href]=clickCount[this.href]?clickCount[this.href]+1:1;
}
;
//事件附加到每个具有“href”属性的链接

对于(var i=0;i您应该直接从web服务器日志或从解析
?id=1234
以加载实际内容的代码中计算服务器端的这些请求


假设您有某种方式(登录名、cookie、IP地址)来判断,则不要计算来自您提供ID的页面作者的请求--从您的代码而不是服务器日志来看,这一部分会更简单。

您可能试图查看用户在页面上单击了多少链接,以查看他们访问了哪些链接。这是一种不可靠的策略,因为用户可以通过多种不同的方式访问链接,而无需单击链接(关联菜单、拖动到新选项卡、复制链接位置等)

如果您想知道他们在当前页面中单击了多少个链接,答案是零,因为如果他们单击某个链接,他们应该转到另一个页面。如果您使用侦听器阻止导航,则同一个侦听器也可以计算单击次数。


<script type="text/javascript">

var clicks = 0;
function linkClick() {
    document.getElementById('clicked').value = ++clicks;
}

document.write('<a href="#" onclick="linkClick()">Click Me!</a>');
var=0; 函数linkClick(){ document.getElementById('clicked')。value=++单击; } 文件。写(“”);


您已经点击了链接时间。

这是一个简单的点击计数器,点击之间的限制因子为
200ms
。在我的示例中,在随后的3次点击后,将发生以下情况:

var onClick=(函数(){
变量计数=0,定时器;
返回函数(){
计数++;
清除超时(计时器);
timer=setTimeout(函数(){count=0},200);
//点击3次后做任何事情
如果(计数>2)
document.body.classList.toggle('mode');
}
})();
document.body.addEventListener(“单击”,onClick);
html,正文{高度:100%;}
正文{
字体:20px Arial;
文本对齐:居中;
填充:20px;
背景:EFDCE8;
过渡:.3s;
-moz用户选择:无;
-webkit用户选择:无;
}
body.mode{background:lightgreen;}

单击anwhere 3次

我创建了一个带有本地存储的点击计数器,因此它可以存储点击计数

<html>
<body>
    <a href="#" onclick="clickCounter()">Click Counter</a>
    <a href="#" onclick="resetCounter()">Reset Counter</a>
    <br>
    <p id="result"></p>

    <script>
    function clickCounter() {
        var count = localStorage.clickcount = Number(localStorage.clickcount)+1;
        if (isNaN(count) === true) {
            count = localStorage.clickcount = 1;
            document.getElementById("result").innerHTML = count;
        } else {
            document.getElementById("result").innerHTML = count;
        }
    } 

    function resetCounter() {
        var reset = localStorage.clickcount = 0;
        document.getElementById("result").innerHTML = reset;
    }
   </script>
</body>
</html>


函数clickCounter(){ var count=localStorage.clickcount=Number(localStorage.clickcount)+1; 如果(isNaN(计数)==真){ 计数=本地存储。单击计数=1; document.getElementById(“结果”).innerHTML=count; }否则{ document.getElementById(“结果”).innerHTML=count; } } 函数resetCounter(){ var reset=localStorage.clickcount=0; document.getElementById(“结果”).innerHTML=reset; }
您可以使用以下功能:

const btn=document.querySelector('.btn');
btn.onclick=计数器;
const clicks=document.querySelector('.clicks');
clicks.id=document.querySelector('clicks');
var a=0;
函数计数器(){
a+=1;
clicks.innerHTML=a;
}
点击

点击:0

你的意思是如何计算点击次数?你的意思是检查双击或三次点击,或者只是计算点击次数?你必须再解释一下。上下文是什么?“有人能发布一些关于这方面的资源吗?”当然:我在谷歌上搜索了这个,但我找不到。这就是我提到stacksoverflow的原因。请发表有用的评论。提问者可以根据上下文使用cookie来完成页面之间的计数。但是如果我使用cookie来保存变量,它会在下次访问页面时保留吗?是的,您可以将数据存储在一个cookie。@user733618肯定是。在这种情况下,检索和存储过程将使用cookie,而不是隐藏标签!还有一个问题,如果链接不是链接怎么办。比如,如果我有文本“blablabla.com/”怎么办但它没有链接到任何东西,换句话说,没有href标记,我还能计算它的点击次数吗?如果你没有href属性,它将无法点击。因此我认为它不会触发onclick事件。你可以使用按钮来代替:)您需要在DOM中查找A,因为单击可能是A的子项。此外,最好在
文档中查找。链接
作为锚也是一个元素,但不是链接。感谢您的document.links想法!如果我们测试href属性,使用getElementsByTagName也可以实现这一点;但是锚链接并不是什么我担心的是,点击它们也可能有一些信息价值。
<html>
<body>
    <a href="#" onclick="clickCounter()">Click Counter</a>
    <a href="#" onclick="resetCounter()">Reset Counter</a>
    <br>
    <p id="result"></p>

    <script>
    function clickCounter() {
        var count = localStorage.clickcount = Number(localStorage.clickcount)+1;
        if (isNaN(count) === true) {
            count = localStorage.clickcount = 1;
            document.getElementById("result").innerHTML = count;
        } else {
            document.getElementById("result").innerHTML = count;
        }
    } 

    function resetCounter() {
        var reset = localStorage.clickcount = 0;
        document.getElementById("result").innerHTML = reset;
    }
   </script>
</body>
</html>