日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

防止點擊量頁面刷新增加的簡單處理方法

作者:愛桃酥的沐晨 更新時間: 2022-02-04 編程語言

?防止點擊量頁面刷新增加的簡單處理方法

?在寫項目的過程中,博主遇到一個需要做文章點擊瀏覽增加點擊量的情況,這里簡單描述一下,在做后臺增加點擊量時,刷新頁面會導致你的請求重發,不停的增加點擊量,這里給大家分享一個處理方法,用cookie來判斷是否第一次進入此網頁。

注意事項:

1.此方法并不嚴謹。因為此方法是設置保留cookie時間,判斷cookie是否存在來做的,所以cookie一旦超過設定時間就會自行銷毀,到時候用戶再點又會增加點擊量

2.此方法可以被瀏覽器清除cookie給弄的形同虛設

3.因為此方法是設置保留cookie時間,判斷cookie是否存在來做的。所以如果時間不到此cookie就會一直緩存在用戶終端的瀏覽器緩存里,希望不要設定的太久,這樣會占用用戶端資源

總結:此方法適合一些要求不是特別苛刻的項目,簡單統計一下點擊量的那種,追根到底這個方法還是弊病太多,比較大型嚴謹的項目建議看看網上別的方法,cookie好像也是有其他方法判斷是否首次進入的

?上代碼:

需要改的地方:

可以看到這里是先isNewVisitor方法獲取cookie,首次進入時沒有的,然后判斷成功首次進入,塞入cookie值,第一個參數cookie名,第二個參數cookie值,第三個參數天數,下面有對應的方法,可以自己看一下就懂了

一.set方法鍵值隊名要和get方法對應

二.如果這個網頁是動態加載什么東西,例如文章內容是動態加載,需要動態給在set、get方法的鍵值隊名,例如:文章類型代碼+id拼接的字符串。這樣才能動態攔截每個不同的文章點擊量重復點擊

$(document).ready(function() {
var newVisitor = isNewVisitor();
if(newVisitor === true) {
// 動畫彈出消息框
// alert('您是新用戶!');
// 標記:已經向該訪客彈出過消息。30天之內不要再彈
setCookie("gznotes-visited", "true", 5);
} else {
console.log("您已不是新用戶了")
}
});

function isNewVisitor() {
// 從cookie讀取“已經向訪客提示過消息”的標志位
var flg = getCookie("gznotes-visited");
if(flg === "") {
return true;
} else {
return false;
}
}

// 寫字段到cookie
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
var expires = "expires=" + d.toUTCString();
document.cookie = cname + "=" + cvalue + "; " + expires + ";path=/";
}

// 讀cookie
function getCookie(cname) {
var name = cname + "=";
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);
if(c.indexOf(name) == 0) return c.substring(name.length, c.length);
}
return "";
}

?

原文鏈接:https://blog.csdn.net/qq_42315540/article/details/107903562

欄目分類
最近更新