This new site (came online 1 Sep) www.quixtar.com has the following
Javascript to test a browser for cookie handling.  It doesn't work on
V3 or with Opera 3.21 on a Windows 3.1 notebook.  On both it
states that the browser doesn't support cookies or the cookies are
turned off.  They're not.  I've been told it works with IE. Don't know
about Netscape.

Anyway, V3 generates an JS error:  Function Expected.

Here's my questions:

  1. I thought JS was traditionally suppose to be in the <HEAD>
section of the HTML code; so why is the code at the very beginning? 
Even ahead of the <HTML> tag.

  2. It uses 3 library functions to handle cookies.  Wouldn't this
library have to be on the user computer for the JS script to work?  Or
would it being on the server be sufficient?

Code follows, exactly as saved (Sorry about the >80 character lines):

===================== BEGIN

<script language="JavaScript">
<!--

/*
WM_setCookie(), WM_readCookie(), WM_killCookie()
A set of functions that eases the pain of using cookies.

Source: Webmonkey Code Library
(http://www.hotwired.com/webmonkey/javascript/code_library/)

Author: Nadav Savio
Author Email: [EMAIL PROTECTED]
*/


// This next little bit of code tests whether the user accepts cookies.
var WM_acceptsCookies = false;
if(document.cookie == '') {
    document.cookie = 'WM_acceptsCookies=yes'; // Try to set a cookie.
    if(document.cookie.indexOf('WM_acceptsCookies=yes') != -1) {
        WM_acceptsCookies = true; 
    }// If it succeeds, set variable
} else { // there was already a cookie
  WM_acceptsCookies = true;
}


function WM_setCookie (name, value, hours, path, domain, secure) {
    if (WM_acceptsCookies) { // Don't waste your time if the browser doesn't accept 
cookies.
        var not_NN2 = (navigator && navigator.appName 
                       && (navigator.appName == 'Netscape') 
                       && navigator.appVersion 
                       && (parseInt(navigator.appVersion) == 2))?false:true;

        if(hours && not_NN2) { // NN2 cannot handle Dates, so skip this part
            if ( (typeof(hours) == 'string') && Date.parse(hours) ) { // already a 
Date string
                var numHours = hours;
            } else if (typeof(hours) == 'number') { // calculate Date from number of 
hours
                var numHours = (new Date((new Date()).getTime() + 
hours*3600000)).toGMTString();
            }
        }
        document.cookie = name + '=' + escape(value) + ((numHours)?(';expires=' + 
numHours):'') + ((path)?';path=' + path:'') + ((domain)?';domain=' + domain:'') + 
((secure && (secure == true))?'; secure':''); // Set the cookie, adding any parameters 
that were specified.
    }
} // WM_setCookie


function WM_readCookie(name) {
    if(document.cookie == '') { // there's no cookie, so go no further
        return false; 
    } else { // there is a cookie
        var firstChar, lastChar;
        var theBigCookie = document.cookie;
        firstChar = theBigCookie.indexOf(name); // find the start of 'name'
        var NN2Hack = firstChar + name.length;
        if((firstChar != -1) && (theBigCookie.charAt(NN2Hack) == '=')) { // if you 
found the cookie
            firstChar += name.length + 1; // skip 'name' and '='
            lastChar = theBigCookie.indexOf(';', firstChar); // Find the end of the 
value string (i.e. the next ';').
            if(lastChar == -1) lastChar = theBigCookie.length;
            return unescape(theBigCookie.substring(firstChar, lastChar));
        } else { // If there was no cookie of that name, return false.
            return false;
        }
    }   
} // WM_readCookie

function WM_killCookie(name, path, domain) {
  var theValue = WM_readCookie(name); // We need the value to kill the cookie
  if(theValue) {
      document.cookie = name + '=' + theValue + '; expires=Fri, 13-Apr-1970 00:00:00 
GMT' + ((path)?';path=' + path:'') + ((domain)?';domain=' + domain:''); // set an 
already-expired cookie
  }
} // WM_killCookie


function checkcookie() {
        if (WM_acceptsCookies) {
                if (WM_readCookie('viewedflash') == 'Y') {
                        location.replace('default_login.htm')}
                else {
                        location.replace('flash.htm')}
        }
}

// -->

</script>

<html>
<head>
        <title>Untitled</title>
</head>

<body onload="checkcookie()" BGCOLOR = "#FFFFFF" MARGINWIDTH="0" MARGINHEIGHT="0" 
leftmargin="0" topmargin="0">
<img src="Common/Images/quixtar_hdr.gif" width=615 height=55 alt="" border="0">
<table width="615" border="0" cellspacing="0" cellpadding="0">
<tr>
        <td width="10">&nbsp;</td>
        <td>Quixtar requires that your browser support cookies.  Your browser 
currently doesn't support cookies or you don't have cookies turned on.<BR><BR>

<a href="flash.htm">Click here</a> to view the Quixtar Intro or <a 
href="default_login.htm">Click here</a> to login.
</td>
</tr>
</table>
<BR><BR>

</body>
</html>

====================== END

--
Patrick Bartek (NoLife Polymath Group)
[EMAIL PROTECTED]
http://www.access1.net/bartek

____________________________________________________________
Voyager Mailing List - Info & Archive: http://www.vapor.com/
For Listserver Help: <[EMAIL PROTECTED]>, "HELP"
To Unsubscribe: <[EMAIL PROTECTED]>, "UNSUBSCRIBE"

Reply via email to