嗨我希望我網站上的導航在訪問我的網站時淡入,並在訪問網站的其他頁面時保持現狀(即不會再次淡入)。如何僅在使用jQuery訪問網站時觸發事件?
最好的方法是告訴jQuery如果從同一個域訪問時忽略淡入效果?如果有的話,有人可以告訴我怎麼寫這個?
非常感謝, 加文
嗨我希望我網站上的導航在訪問我的網站時淡入,並在訪問網站的其他頁面時保持現狀(即不會再次淡入)。如何僅在使用jQuery訪問網站時觸發事件?
最好的方法是告訴jQuery如果從同一個域訪問時忽略淡入效果?如果有的話,有人可以告訴我怎麼寫這個?
非常感謝, 加文
一個簡單的方法來做到這一點沒有cookies是使用document.referrer財產。
if (document.referrer == null || document.referrer.indexOf(window.location.hostname) < 0) {
// Your code here
}
從本質上講,我們只是檢查,看看閹頁面的用戶是在之前沒有什麼(他們已經開設了一個新的瀏覽器窗口),或者是不在同一個域作爲當前頁面。
這是完美的,因爲這意味着如果用戶正在從全新頁面查看網頁,則該網站將始終消失,但如果該用戶已在網站上,則該網站將不會消失。謝謝。 – Mindthetic 2009-12-17 10:32:15
警告:推薦人不可靠。 – Piskvor 2011-03-22 13:01:44
我可以看到告訴如果這是用戶的第一次訪問是從您的網站設置Cookie的存在的唯一方式。
這顯然不可靠,因爲用戶可能會關閉cookies或刪除它們。
您的cookie將在服務器端代碼中檢索,然後寫出(例如)一個HTML隱藏變量,可從JavaScript/JQuery訪問。
服務器代碼的細節取決於您的服務器語言。
JavaScript也可以訪問cookie,不需要服務器端部分... – 2009-12-16 13:10:38
您可以使用cookie。請參閱:http://plugins.jquery.com/project/Cookie
您無法保證用戶將啓用此解決方案的Cookie。您必須首先添加一個支票,以查看在實施之前是否啓用了Cookie。您可以使用method like this檢查是否啓用了Cookie。
var cookieName = 'yourcookiename';
$(function() {
checkCookie();
});
function checkCookie() {
if (document.cookie.length > 0 && document.cookie.indexOf(cookieName + '=') != -1) {
// do nothing, cookie already sent
} else {
// handle jQuery animation
// set the cookie to show user has already visited
document.cookie = cookieName + "=1";
}
}
感謝您向我展示如何檢查cookie。不知道我將不得不這樣做。 – Mindthetic 2009-12-17 10:33:10
我想你可以說它和google很相似。從來沒有這樣想過。 :) – Mindthetic 2009-12-17 10:35:28