<HEAD>
of your HTML page. There are comments strewn about within it, so make sure you don't paste those in.<script language="JavaScript"><!--The above block of script creates the redirect function that will kick the user out of the splash page when called. The first thing the function does is look for a cookie calledfunction ReDirect (URL) {
GetCookie('SplashSkip');
if (Splash == 'TRUE') {
window.location=(URL);}else {}}var Splash = GetCookie('SplashSkip');
SplashSkip
. If that cookie has a value of TRUE
then it changes the URL of the current page to whatever the value for URL
is as defined below.Setting Splash
equal to the GetCookie
function with the SplashSkip
variable allows us to look for the cookie named SplashSkip
without having to hardcode the value into the GetCookie
function.function getCookieVal (offset) { var endstr = document.cookie.indexOf (';', offset); if (endstr == -1) endstr = document.cookie.length; return unescape(document.cookie.substring(offset, endstr));}The two functions above actually retrieve the values of any cookies passed to them, while making sure the script doesn't fall apart on older browsers, or on a browser with no cookie(s) set.function GetCookie (name) {
var arg = name + '='; var alen = arg.length; var clen = document.cookie.length; var i = 0; while (i < clen) { var j = i + alen; if (document.cookie.substring(i, j) == arg) return getCookieVal (j); i = document.cookie.indexOf(' ', i) + 1; if (i == 0) break; } return null;}
ReDirect('http://foo.com/skipsplash.html');
This piece of script above is the only function that is run as soon as the page begins to load. The ReDirect
function as defined above now kicks in, which checks for the specified cookie. If that cookie doesn't exist then the function ends, as you can see in the else {}
statement above. The target URL is placed in the parentheses.function SetCookie (name, value) { // Enter number of days the cookie should persist var expDays = 30; var exp = new Date(); exp.setTime(exp.getTime() + (expDays * 24 * 60 * 60 * 1000)); expirationDate = exp.toGMTString(); // Set cookie with name and value provided // in function call and date from above document.cookie = name + '=' + escape(value) document.cookie += '; expires=' + exp.toGMTString();}This final snippet of code creates the function that sets the cookie. This function is called after the page has loaded, and so only runs if the user wasn't moved to a new page by the redirection function that loaded as soon as the page opened. You set the number of days the cookie lasts on the user's machine by changing the value of// -->
</script>
expDays
.<body onload="SetCookie('SplashSkip','TRUE');">
Finally, you add the JavaScript SetCookie
function to an onLoad
event in your <body>
tag. The example above defines the cookie name and value, which is what the rest of the script checks against in order to skip the splash page.<head>
tag, or anything else in the ASP file, is paste the following code:<%IF Request.Cookies("ASPSplashSkip") = "TRUE" THEN response.redirect "http://foo.com/skipsplash.html"ELSE SET_COOKIE HTMLEND IF%>The first thing the script does is look for a cookie with the name
ASPSplashSkip
and value of TRUE
. If that cookie exists, you are immediately served up a different page, and the splash page has been skipped.If the cookie is not there, it goes on to the next part, which consists of displaying two SUB
s, which are just pieces of HTML and/or script wrapped in <% SUB %>
containers. In this case, the function that sets cookies is wrapped in one, and the actual HTML of the page is wrapped in another. I tend to use SUB
s since it helps me to quickly and easily modify what happens in my ASP scripts when I have pieces of logic driving what gets displayed -- as I do here.<% SUB SET_COOKIE %><%'###############'## Date SettingThe first part allows you to select a timeframe for the expiration of the cookie. I have provided three timeframes to make it easy, since you can't just enter a number of days as you can with the JavaScript. So if you decide you only want the cookie to last one week before expiring, setDayLater = DateAdd("d", 1, FormatDateTime(Now,vbGeneralDate))
WeekLater = DateAdd("ww", 1, FormatDateTime(Now,vbGeneralDate))MonthLater = DateAdd("m", 1, FormatDateTime(Now,vbGeneralDate))'## Choose a timeframe from above and
'## make it equal to TargetDate TargetDate = MonthLater'##################
'## Cookie Setting'## This sets the cookie so that the next time the
'## user comes back he/she will skip the splash page Response.Cookies("ASPSplashSkip") = "TRUE" Response.Cookies("ASPSplashSkip").expires = TargetDate%>
<% END SUB %>
TargetDate
equal to WeekLater
.The second part sets the cookie with the name/value pair you see in quotes. In this example, the name is ASPSplashSkip
and the value is TRUE
. It also sets the expiration date for the cookie based on the value you set for TargetDate
.<% SUB HTML %><HTML>Finally, whatever is within the<!-- Insert splash page here -->
</HTML>
<% END SUB %>
<% SUB HTML %>
and <% END SUB %>
containers is the actual content of your splash page. The example above is trimmed to just the <HTML>
tags, but you can have any HTML in there, including your Flash splash movie, or your DHTML effects, or whatever else goes on that splash page.