2012-09-26 59 views
0

下面的代碼運行良好,但我需要它僅在訪問者登錄特定頁面時才能工作,請讓我嘗試更好地解釋它;使用jQuery觸發div更改訪問特定網址時的Cookie

我有一封電子郵件,只有某些人才能獲得專有鏈接,當他們通過此鏈接登錄網站時,我希望我的粘性條更改 - (下面的當前代碼基於任何訪問任何頁面,而不僅僅是某個頁面)。

$(function() { 
if(!$.cookie('repeatVisitor')) { 
    // if the user is not a repeat visitor, set the cookie 
    $.cookie("repeatVisitor", "true", { expires: 3 }); //expires in 3 days 
} 

if ($.cookie('repeatVisitor')) { 
    // if the cookie exists, show the custom div 
    setTimeout('showDivTwo();', 3000); 
} 
}) 

function showDivTwo() { 
$('#sticky-bar').fadeOut(); 
$('#sticky-private').fadeIn(); 
} 

正如我發現的,cookie已設置,但沒有什麼可以觸發代碼只通過特定的URL進行更改。 我想過的一件事可能是綁定一個#(哈希)給出的專用鏈接的末尾

我不希望更改依賴於網站上的點擊一次,我只是希望它基於對特定頁面的訪問是自動的。

任何人都可以幫忙嗎? 再一次,我們對這個問題稍微重複一事表示歉意,儘管現在它是一種不同的情況。

回答

0

你需要從當前會話獲取當前頁面,

var sPath=window.location.pathname; 
var sPage = sPath.substring(sPath.lastIndexOf('/') + 1); 

或類似然後採取S頁面的價值和比較它的東西,無論你需要的驗證。 你必須有一個匹配頁面的代碼列表(在數據庫,文件等),或者如果用戶訪問同一頁面,將值存儲在cookie中,這樣我可以被標記爲好。

有很多方法可以解決這個問題,讓我知道這是否有幫助。 謝謝

+0

這有點幫助...我非常感謝答案,但我不知道如何實現這一點。關於在數據庫中存儲值,這是不行的,因爲我沒有任何訪問權限 - 這一切都是通過一個非常緊密的cms來完成的,我只能將前端HTML放在適當位置 –