我想知道如果用戶在同一個網頁上出現3次,是否有可以重定向到另一個網頁的javascript或html代碼?我有時會在有試用版的網站上看到這一點。在同一個IP地址的3個視圖之後重定向頁面
謝謝你的回答。
我想知道如果用戶在同一個網頁上出現3次,是否有可以重定向到另一個網頁的javascript或html代碼?我有時會在有試用版的網站上看到這一點。在同一個IP地址的3個視圖之後重定向頁面
謝謝你的回答。
這是服務器端更好的處理。我不知道你使用什麼技術(PHP,.NET,Java),但服務器可以輕鬆地檢查客戶端的IP地址,並在3次後返回不同的答案,如重定向響應。
如cookie或localStorage建議的那樣處理客戶端是可能的,但如果您的目標是安全性(例如試用限制),那麼這是非常無效的。 Cookies和localStorage是微不足道的清除,用戶授予自己3個新的免費訪問。
由於jods表示,做它客戶端(JavaScript)是不安全的。一個簡單的瀏覽器歷史記錄的「乾淨」撤消就是關鍵..
但這裏有一個簡單的例子,你如何與localStorage的做到這一點:
/*
use this to reset the code:
localStorage.setItem('visited', 0);
*/
var views = localStorage.getItem('visited');
views = (views===undefined)? 1 : parseInt(views)+1;
if (views<=3)
{
localStorage.setItem('visited', views);
document.write('You visited this page for the: ' + views + ' time!');
}
else
{
document.write('You can only view it 3 times!');
}
您不能做到這一點僅使用Javascript,你將不得不與服務器通信並且以這種方式實現它。
如果你想與設備更換IP地址那麼你可以使用localStorage
或餅乾。
下面是使用localStorage
var count = Number(localStorage.visitCount);
if(isNaN(count)) {
localStorage.visitCount = 1
} else {
localStorage.visitCount++
}
if(+localStorage.visitCount === 3) {
window.location.replace('http://stackoverflow.com')
}
使用cookie或localStorage的實施視圖計數器的例子。 – Barmar
謝謝你的快速回答。你有沒有類似的代碼可以使用? – Jan
請顯示你自己的一些努力。嘗試自己實現它,如果你無法實現它顯示你寫的內容,我們將幫助你解決它。 – Barmar