您好我希望我的网站上的导航在访问我的网站时淡入,并在访问该网站的其他页面时保持存在(即不再淡入)。
实现这一目标的最佳方法是告诉jQuery如果从同一个域访问,则忽略淡入效果?如果是这样,有人可以告诉我如何写这个吗?
非常感谢, 加文
答案 0 :(得分:16)
在没有cookie的情况下执行此操作的简单方法是使用document.referrer属性。
if ( document.referrer == null || document.referrer.indexOf(window.location.hostname) < 0 ) {
// Your code here
}
基本上我们只是检查用户所在的页面是否为空(他们打开了一个新的浏览器窗口)或者与当前页面不在同一个域中。
答案 1 :(得分:5)
您无法保证用户可以启用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";
}
}
答案 2 :(得分:4)
我可以看到告诉用户是否第一次访问的唯一方法是,您网站上存在Cookie设置。
这显然不可靠,因为用户可能已关闭cookie或已将其删除。
您的cookie将在服务器端代码中检索,然后写入(例如)HTML隐藏变量,可从JavaScript / JQuery访问。
服务器代码的细节取决于您的服务器语言。
答案 3 :(得分:0)
您可以使用Cookie。请参阅:http://plugins.jquery.com/project/Cookie