0

首先,我想说我对 javascript、jquery 和/或 php 非常陌生。后者我一无所知,而另外两个离那不远。

话虽如此,我已经在互联网上搜索了好几个小时,在很多场合都算不上这个(诚然有些具体但又如此广泛使用)的事情。在我看来,将人们重定向到带有 cookie 的启动页面就像可口可乐的配方一样保密。

我想要的很简单,我想。当访问者访问我的网站时,他们会到达 index.html(与往常一样)。我想在这个页面上实现一个 cookie,它适用于访问者。它必须检查访问者以前是否访问过该站点。如果不是,它会重定向到 splash.html。启动页面将用于访问者选择他/她希望使用的语言来查看带有指向其他 HTML 页面的链接的网站 - 我可以做到这一点。我在这里和那里找到了一些片段,但是 javascript 似乎太复杂了,并且总是缺少一些东西,不知何故,无法应用于我并正常运行。

请帮忙!

回顾一下:

访问者加载 index.html

Cookie 承认

if visited before

没做什么

else

重定向到 splash.html

说真的,感谢任何可以帮助我的人。

此外,对于从零开始轻松学习 Javascript 的任何帮助,我们将不胜感激。

4

2 回答 2

0

我发现这个解决方案可以满足我的需要:

$(function() {
    var COOKIE_NAME = 'splash-page-cookie';
    $go = $.cookie(COOKIE_NAME);
    if ($go == null) {
        $.cookie(COOKIE_NAME, 'test', { path: '/', expires: 183 });
        window.location = "Splash.html"
    }
    else {
    }
});

此脚本适用于 Carhartl Jquery cookie 插件。感谢所有的帮助!

于 2014-05-17T10:26:03.337 回答
0

Mozilla 开发者网络上有一篇关于在 Javascript 中使用 cookie 的好文章:https ://developer.mozilla.org/en-US/docs/Web/API/document.cookie

应该对您有所帮助的是Example #3 bis

if (document.cookie.replace(/(?:(?:^|.*;\s*)someCookieName\s*\=\s*([^;]*).*$)|^.*$/, "$1") !== "true") {
    alert("Do something here!");
    document.cookie = "someCookieName=true; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/";
}

当您获得 的值时document.cookie,您将获得以分号分隔的 cookie 列表。第一行中的正则表达式查找名为 的 cookie 的值someCookieName

当您设置 的值时document.cookie,您设置或更新了一个 cookie(您不会像看起来那样覆盖整个 cookie 列表)

为了重定向访问者,您可以使用document.locationproperty

以下代码应该可以满足您的需求:

if (document.cookie.replace(/(?:(?:^|.*;\s*)seenSplash\s*\=\s*([^;]*).*$)|^.*$/, "$1") !== "true") {
    document.cookie = "seenSplash=true; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/";
    document.location = "/splash.html";
}
于 2014-05-11T19:32:18.003 回答