题
嗨,我希望我的网站上的导航访问我的网站并在访问网站其他页面时保持在场时(即不再淡入)。
实现这一目标的最佳方法是告诉JQuery忽略从同一领域访问的淡出淡出的淡出吗?如果是这样,有人可以告诉我如何写这个?
非常感谢,加文
解决方案
无需cookie的一种简单方法是使用document.referrer属性。
if ( document.referrer == null || document.referrer.indexOf(window.location.hostname) < 0 ) {
// Your code here
}
从本质上讲,我们只是在检查以查看用户以前打开的页面(他们打开了一个新的浏览器窗口)或与当前页面不在同一域上。
其他提示
您不能保证用户会打开cookie以使该解决方案工作。您必须首先添加检查以查看实施之前是否打开cookie。您可以使用A打开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设置。
这显然是不可靠的,因为用户可能关闭了cookie或已删除它们。
您的cookie将在服务器端代码中检索,然后写入(例如)HTML隐藏变量,可从JavaScript/jquery访问。
服务器代码的细节取决于您的服务器语言。
您可以使用cookie。看: http://plugins.jquery.com/project/cookie
不隶属于 StackOverflow