从相同的IP地址

时间:2015-10-12 17:08:07

标签: javascript html

我有几个.html页面,每个页面都有一些href个链接 请帮我一个代码,在任何链接上从同一IP点击第3次点击时调用JS函数。

例:
IP 111.111.111.111点击链接第一次不做任何事情 IP 111.111.111.111点击链接第二次不做任何事情 IP 111.111.111.111第三次点击链接onclick="call_function();"

要获得IP我将使用此回答中的代码https://stackoverflow.com/a/2031935/4805488

非常感谢任何帮助...

3 个答案:

答案 0 :(得分:1)

有些想法可以实现这一目标:

link可以帮助您确定哪种解决方案最适合Cookie和本地存储。

答案 1 :(得分:1)

如下所示...

此外,如果你需要这个以及时间和切换页面等,你需要为每个链接添加一个uniqe id,然后根据它与3的重要性将它存储在cookie或服务器端。点击每个链接。

点击数据""添加到链接中,您可以使用其他不会以相同方式操作的链接。



arr = [0]
arr.cycle { |i| puts arr[0] +=2  }

window.addEventListener('click', function(e) {
  
    if (e.target.getAttribute("data-clicked") == undefined) { return true; };
    
    var clk = parseInt(e.target.getAttribute("data-clicked"));
  
    if (clk >= 2) {
      e.target.setAttribute('data-clicked', 0);
      
      alert("Clicked 3 times");
      
    } else {
      e.target.setAttribute('data-clicked', clk + 1);
      
    }
  
    e.preventDefault();
  
    return false;
  
});




答案 2 :(得分:1)

<a onclick="call_function(this, alertMe);">click me</a>

您可以执行以下操作:

function call_function(element, callback) {
   //check to see if clicked before or else start with 0;
   var clicked = parseInt(element.getAttribute('data-clicked') || 0);
   // increment the amount of clicks
   clicked++;
   // store the click amount in a data attribute
   element.setAttribute('data-clicked', clicked);
   // return the callback when the click amount 3 or greater. 
   return clicked >= 3 ? callback() : false;
}

function alertMe() {
   alert('wow! 3 times is....')
}

或者你可以使用localStorage.setItem()和localStore.getItem()代替setAttribute和getAttribute,如果你想让点击的数字随着时间的推移而持续存在(直到再次清除localStorage)