如何使用jQuery首次访问网站时触发事件?

时间:2009-12-16 12:12:31

标签: jquery fadein

您好我希望我的网站上的导航在访问我的网站时淡入,并在访问该网站的其他页面时保持存在(即不再淡入)。

实现这一目标的最佳方法是告诉jQuery如果从同一个域访问,则忽略淡入效果?如果是这样,有人可以告诉我如何写这个吗?

非常感谢, 加文

4 个答案:

答案 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