Server Side Includes:
Experienced JavaScript programmers know that code reuse is good. Experienced JavaScript programmers also know that JavaScript functions are data types.
So, we should be able to store a JavaScript function inside a Session Variable or an Application Variable, right? Unfortunately, no. The way to reuse JavaScript functions across many pages is to use SSI: Server Side Includes.
<%@LANGUAGE="JavaScript"%>
<HTML>
<HEAD>
<!--#include file="script13a.asp"-->
<TITLE><% Response.Write( whatTimeIsIt() ) %> </TITLE>
</HEAD>
<BODY>
<%
Response.Write("The date and time are " + DateTime + "<BR><BR>\r")
Response.Write("Tomorrow's date is " + Tomorrow + "<BR><BR>\r")
Response.Write("Tomorrow will be a " + findDayOfWeek(Tomorrow) + "\r")
%>
</BODY>
</HTML>
Click Here to run the script in a new window.
Look at the code for script13.asp. It calls for an include file via this line:
<HTML> <HEAD> <TITLE>10:57:20 AM </TITLE> </HEAD> <BODY> The date and time are 4/11/2003 10:57:20 AM<BR><BR> Tomorrow's date is 4/12/2003<BR><BR> Tomorrow will be a Saturday </BODY> </HTML>
The final HTML code looks so nice and simple. You'd never know that the Date() object had been torn down and put back together. Below is the include file.
<%
function whatTimeIsIt()
{
var m=new Date()
var minute=m.getMinutes()
var second=m.getSeconds()
var ampm=false
if (minute >=0 && minute < 10)
{
minute=("0" + minute)
}
if (second >= 0 && second < 10 )
{
second=("0" + second)
}
var hours=m.getHours()
if (hours > 12)
{
ampm=true
hours=hours-12
}
if (hours==12)
{
ampm=true
}
if (hours == 0)
{
hours=hours+12
ampm=false
}
if (ampm)
{
ampm=" pm"
}
else
{
ampm=" am"
}
var myTime=hours + ":" + minute + ":" + second + ampm
return myTime;
}
var DateTime = new Date();
var Month = (DateTime.getMonth() + 1) + "/";
var Day = DateTime.getDate() + "/";
var Year = DateTime.getFullYear();
var DateTime = Month + Day + Year + " " + whatTimeIsIt();
var Tomorrow=new Date()
Tomorrow.setDate(Tomorrow.getDate() + 1)
Month = (Tomorrow.getMonth() + 1) + "/"
Day = Tomorrow.getDate() + "/"
Year = Tomorrow.getFullYear()
Tomorrow = Month + Day + Year
function findDayOfWeek(DateInQuestion)
{
// format for DateInQuestion is mm/dd/yyyy or m/d/yyyy
// and presumes the /'s are present.
myRegExp=/\d{1,2}\//
myMonth=(parseInt(DateInQuestion.match(myRegExp)) -1)
myRegExp=/\/\d{1,2}\//
myDay=new String(DateInQuestion.match(myRegExp))
myDay=parseInt( myDay.substring(1,myDay.length) )
myRegExp=/\/\d{4}/
myYear=new String(DateInQuestion.match(myRegExp))
myYear=parseInt( myYear.substring(1,myYear.length) )
DateInQuestion=new Date(myYear,myMonth,myDay)
DayOfWeek=new Array
DayOfWeek[0]="Sunday"
DayOfWeek[1]="Monday"
DayOfWeek[2]="Tuesday"
DayOfWeek[3]="Wednesday"
DayOfWeek[4]="Thursday"
DayOfWeek[5]="Friday"
DayOfWeek[6]="Saturday"
DayOfWeek=DayOfWeek[DateInQuestion.getDay()]
return DayOfWeek;
}
%>
