• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 171
  • Last Modified:

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???
0
aguldber
Asked:
aguldber
  • 2
1 Solution
 
Michel PlungjanIT ExpertCommented:
You would have had an easier time with Netscape which can detect the presense of the plugin.

A cookie is indeed a way to do it:
In the installation pages have

<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';

/* If the plugin installation page is on another server you cannot do this - if it is not in the same domain forget cookies */
</SCRIPT>

on the page(s) using 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>

Enjoy,

Michel
0
 
aguldberAuthor Commented:
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...
0
 
Michel PlungjanIT ExpertCommented:
<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
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now