Link to home
Start Free TrialLog in
Avatar of aguldber
aguldber

asked on

Smart redirection

I currently have a powerbuilder application that runs off our corporate intranet via a plugin. This application, though, requires a one-time installation for the plug-in to work. What I would like to do is when the user clicks the hyperlink to run the application, have a way to detect (cookie ?) whether or not it has been installed. If it has, send the user to the page that has the plug-in, otherwise, redirect the user to the installation instructions for the plug-in. Our standard browser is IE 4.01 if that makes any difference. Any ideas???
ASKER CERTIFIED SOLUTION
Avatar of Michel Plungjan
Michel Plungjan
Flag of Denmark image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of aguldber
aguldber

ASKER

Let me make sure I understand this before I approve this answer...

On the page that contains the installation plug-in, insert the following code in the html head.

<SCRIPT LANGUAGE="JavaScript">
 nextyear = new Date();
 thisyear = nextyear.getYear();
 if (thisyear < 100) thisyear += 1900; // Millennium
 nextyear.setYear(thisyear+1);

 // The next is on one line
 document.cookie = 'ourplugin=installed; expires=' +    nextyear.toGMTString + 'path=/; domain=myserver.com';
</SCRIPT>


on the page that uses the plugin have this in the head:

<SCRIPT LANGUAGE="JavaScript">
theCookie = '';
if (document.cookie) theCookie = document.cookie;
if (theCookie.indexOf('ourplugin=installed') ==-1) location = 'install.html';
</SCRIPT>

I'm not real fluent in JavaScript, could you walk me though what the code does in the first script. Thanks for your help...
<SCRIPT LANGUAGE="JavaScript">
nextyear = new Date(); // Create a date object
thisyear = nextyear.getYear(); /* get the year (98 in version 3 browsers) */

if (thisyear < 100) thisyear += 1900; // Millennium fix
nextyear.setYear(thisyear+1); /* Update the date object */

// The next is on one line
document.cookie = 'ourplugin=installed; expires=' +    nextyear.toGMTString + 'path=/;domain=myserver.com';

</SCRIPT>

The cookie consists of

name=value;

expires=expiry date of the cookie in
GMT format : Mon, 11-Oct-1998 22:25:00:00 GMT

path= web server directory allowed to read the cookie, / all directories from root and down may read it - leave it out and only files from same directory as the page that set the cookie may read it

domain= servers that are allowed to read the cookie, leave it out and only the originating server may read it, but if you set it on is.myserver.com and sales.myserver.com needs to read the cookie, you need this property.

Michel