首先,我想说我是javascript,jquery和/或php的新手。在后者中我什么都不知道,而另外两个距离不远。
话虽这么说,我已经在互联网上搜了好几个小时了很多时间来计算这个(不可否认的是具体而且广泛使用的)事情。在我看来,好像将人们重定向到带有cookie的启动页面一样,保存了可口可乐食谱的秘密。
我想,我想要的是相当简单的。当访问者访问我的网站时,他们会到达index.html(按照惯例)。我想在这个页面上实现一个cookie,它将自己应用于访问者。它必须检查访问者之前是否曾访问过该网站。如果没有,它会重定向到splash.html。启动页面将用于访问者选择他/她希望查看该网站的语言以及其他HTML页面的链接 - 我可以这样做。我已经在这里和那里找到了一些片段,但是javascript看起来太复杂了,并且总是会有某些东西丢失,不知何故,能够适用于我并正常运行。
请帮忙!
概括说明:
访问者加载index.html
Cookie承认
if visited before
什么都不做
else
重定向到splash.html
说真的,谢谢任何可以帮助我的人。
此外,任何有关如何从绝对划痕学习Javascript的帮助都很受欢迎。
答案 0 :(得分:0)
在Mozilla开发者网络上有一篇关于在Javascript中使用cookie的好文章:https://developer.mozilla.org/en-US/docs/Web/API/document.cookie
应该对您有所帮助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列表。第一行中的正则表达式查找名为someCookieName
的cookie的值。
当您设置document.cookie
的值时,您可以设置或更新一个Cookie(您不会覆盖整个Cookie列表)
要重定向访问者,您可以使用document.location
property。
以下代码应该满足您的需求:
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";
}
答案 1 :(得分: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插件。 谢谢你的帮助!