2014-04-24 47 views
0

我想知道如果用戶在同一個網頁上出現3次,是否有可以重定向到另一個網頁的javascript或html代碼?我有時會在有試用版的網站上看到這一點。在同一個IP地址的3個視圖之後重定向頁面

謝謝你的回答。

+0

使用cookie或localStorage的實施視圖計數器的例子。 – Barmar

+0

謝謝你的快速回答。你有沒有類似的代碼可以使用? – Jan

+0

請顯示你自己的一些努力。嘗試自己實現它,如果你無法實現它顯示你寫的內容,我們將幫助你解決它。 – Barmar

回答

0

這是服務器端更好的處理。我不知道你使用什麼技術(PHP,.NET,Java),但服務器可以輕鬆地檢查客戶端的IP地址,並在3次後返回不同的答案,如重定向響應。

如cookie或localStorage建議的那樣處理客戶端是可能的,但如果您的目標是安全性(例如試用限制),那麼這是非常無效的。 Cookies和localStorage是微不足道的清除,用戶授予自己3個新的免費訪問。

+0

我們使用PHP,我會嘗試在網上找到一些東西,感謝您指向正確的方向。我想也許有一個簡單的方法來做到這一點,就像一個簡單的JavaScript,但它看起來比它看起來更難:) – Jan

+0

在JavaScript中也很容易做到,它只是不安全。這一切都取決於你想要使用它。 – jods

1

由於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!'); 
} 
0

不能做到這一點使用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') 
} 
+0

母豬我必須把它包裝成一個JavaScript代碼?謝謝您的回答。 – Jan

+0

@Jan你會把它放在你的html代碼裏面''或者使用外部文件 – iConnor

+0

謝謝你的回答,但是它不能正常工作。我在頭部和身體測試它。 – Jan

相關問題