2015-04-05 24 views
-1

在這個網站:theanimalrescuesite.com有可以點擊每天一次的按鈕。所以我的問題是如何在我的網站上製作一個類似的按鈕(我不是指設計)。每當我的網站上有一個人,如果他點擊更早的時間向他展示廣告,例如他是否沒有點擊向他展示按鈕。有沒有人有一個想法如何編碼?如何對每個用戶每天只允許點擊一次的按鈕進行編碼?

回答

0

除了編碼按鈕
首先你要明白,這需要在後端的一些工作,只是上的JavaScript瀏覽器的解決方案,您工具將很容易通過只是刪除cookie或更改JavaScript代碼回火:

這些都是一些選項首發:

  1. 使用cooki es:您只需在用戶第一次點擊該按鈕時向瀏覽器添加一個cookie,然後檢查cookie是否存在以禁用該按鈕。
    該解決方案是低效的,原因是:簡單地刪除cookies,享受無限的點擊。
  2. 使用會話:你在你的後臺啓動用戶會話中,如果點擊按鈕需要註冊,那麼你只需做你的數據庫提供的用戶數據會話,將某個字段設置上表示,如果您的用戶模型用戶已經點擊過或沒有,那麼你可以根據用戶模型中的值禁用/啓用該按鈕。
    您還需要檢查點擊次數, 您檢查發送點擊的用戶的狀態,這是 ,因爲人們可以在瀏覽器中篡改JavaScript併發送 即使您禁用該按鈕也會點擊。
    該解決方案(基於愚見)是最佳的,因爲它(據我所知再次)採取一切都要考慮進去。

現在如果用戶不需要註冊,您只需以用戶的IP地址作爲會話標識符進行會話即可。

可能有更簡單的方法來做到這一點,但我不知道有什麼:d

現在,如果你不關心每個用戶的點擊次數或重複的點擊,那麼你就不需要完成上述所有工作。

希望這有助於!

+0

非常感謝。我沒有用戶系統。我不僅需要禁用我需要隱藏它的按鈕,並且在放置按鈕的地方放置廣告。 – 2015-04-05 20:04:10

+0

如果您不關心每個用戶的點擊次數或一般的獨特點擊次數,那麼您不需要用戶系統。 – HassenPy 2015-04-05 20:17:56

1

,您可以設置Cookie一旦用戶點擊,這將在一天內到期的按鈕,以便給予你可以找到在用戶點擊按鈕或沒有,那麼你可以啓用或禁用該按鈕的餅乾。

要設置cookie的

function createCookie(name, value, days) { 
    var date, expires; 
    if (days) { 
     date = new Date(); 
     date.setTime(date.getTime()+(days*24*60*60*1000)); 
     expires = "; expires="+date.toGMTString(); 
    } else { 
     expires = ""; 
    } 
    document.cookie = name+"="+value+expires+"; path=/"; 
} 

要讀取Cookie

function readCookie(name) { 
    var nameEQ = name + "="; 
    var ca = document.cookie.split(';'); 
    for(var i=0;i < ca.length;i++) { 
     var c = ca[i]; 
     while (c.charAt(0)==' ') c = c.substring(1,c.length); 
     if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 
    } 
    return null; 
} 
0

亞拉文SIVAM打我給它。 I did it in jQuery。有兩個例子,一個會在點擊後禁用按鈕一天,另一個會隱藏它。 (需要注意的是,用戶可以很容易地這樣通過禁用JavaScript的繞過。)

$(document).ready(function() { 
    $("button").click(function() { 
     var $this = $(this); 
     if ($this.is(".example-1")) { 
      $.cookie("button1", 1, { 
       expires: 1 
      }); 
      $this.prop("disabled", true); 
     } else { 
      $.cookie("button2", 1, { 
       expires: 1 
      }); 
      $this.hide(); 
     } 
    }); 

    if ($.cookie("button1")) { 
     $(".example-1").prop("disabled", true); 
    } 
    if ($.cookie("button2")) { 
     $(".example-2").hide(); 
    } 
});