Client Side Cookies IIS, HELP!

  • Thread starter Thread starter Todd
  • Start date Start date
T

Todd

OK,

I created a .htm page within a new Web solution:
--------------------------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Menu</title>
<meta name=vs_defaultClientScript content="JavaScript">
<meta name=vs_targetSchema
content="http://schemas.microsoft.com/intellisense/ie5">
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name=ProgId content=VisualStudio.HTML>
<meta name=Originator content="Microsoft Visual Studio .NET 7.1">

<style>
<!--
#foldheader{cursor:pointer;cursor:hand ; font-weight:bold ;
list-style-image:url(fold.gif)}
#foldinglist{list-style-image:url(list.gif)}
//-->
</style>
<script language="JavaScript1.2">
<!--

//Smart Folding Menu tree- By Dynamic Drive (rewritten 03/03/02)
//For full source code and more DHTML scripts, visit
http://www.dynamicdrive.com
//This credit MUST stay intact for use

var head="display:''"
img1=new Image()
img1.src="fold.gif"
img2=new Image()
img2.src="open.gif"

var ns6=document.getElementById&&!document.all
var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1

function checkcontained(e){
var iscontained=0
cur=ns6? e.target : event.srcElement
i=0
if (cur.id=="foldheader")
iscontained=1
else
while (ns6&&cur.parentNode||(ie4&&cur.parentElement)){
if (cur.id=="foldheader"||cur.id=="foldinglist"){
iscontained=(cur.id=="foldheader")? 1 : 0
break
}
cur=ns6? cur.parentNode : cur.parentElement
}

if (iscontained){
var foldercontent=ns6? cur.nextSibling.nextSibling : cur.all.tags("UL")[0]
if (foldercontent.style.display=="none"){
foldercontent.style.display=""
cur.style.listStyleImage="url(open.gif)"
}
else{
foldercontent.style.display="none"
cur.style.listStyleImage="url(fold.gif)"
}
}
}

if (ie4||ns6)
document.onclick=checkcontained

//-->
</script>

</head>
<body MS_POSITIONING="GridLayout">
<font face="Verdana">

<ul>
<li id="foldheader">News</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.cnn.com">CNN</a></li>
<li><a href="http://www.abcnews.com">ABC News</a></li>
<li><a href="http://www.news.bbc.co.uk">BBC News</a></li>
</ul>

<li id="foldheader">Webmaster</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.dynamicdrive.com">Dynamic Drive</a></li>
<li><a href="http://www.javascriptkit.com">JavaScript Kit</a></li>
<li><a href="http://www.freewarejava.com">Freewarejava.com</a></li>
</ul>

<li id="foldheader">Nested Example</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.dynamicdrive.com">outer 1</a></li>
<li><a href="http://www.dynamicdrive.com">outer 2</a></li>
<li id="foldheader">Nested</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.dynamicdrive.com">nested 1</a></li>
<li><a href="http://www.dynamicdrive.com">nested 2</a></li>
</ul>
<li><a href="http://www.dynamicdrive.com">outer 3</a></li>
<li><a href="http://www.dynamicdrive.com">outer 4</a></li>
</ul>
</ul>

</font>

<p align="center"><font face="Arial" size="-2">Free DHTML scripts provided
by<br>
<a href="http://www.dynamicdrive.com">Dynamic Drive</a></font></p>

<script language="JavaScript1.2">
<!--

function get_cookie(Name) {
//Get cookie routine by Shelley Powers
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
// if cookie exists
if (offset != -1) {
offset += search.length
// set index of beginning of value
end = document.cookie.indexOf(";", offset);
// set index of end of cookie value
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

var foldercontentarray=new Array()
var c=0

if (ns6){
for (i=0;i<document.getElementsByTagName("UL").length;i++){
if (document.getElementsByTagName("UL").id=="foldinglist"){
foldercontentarray[c]=document.getElementsByTagName("UL")
c++
}
}
}

if (get_cookie(window.location.pathname) != ''){
var openresults=get_cookie(window.location.pathname).split(" ")
for (i=0 ; i < openresults.length ; i++){
if (ns6){
foldercontentarray[openresults].style.display=''

foldercontentarray[openresults].previousSibling.previousSibling.style.lis
tStyleImage="url(open.gif)"
}
else{
foldinglist[openresults].style.display=''




document.all[foldinglist[openresults].sourceIndex -1].style.listStyleImag
e="url(open.gif)"
}
}
}

if (ns6||ie4){
var nodelength=ns6? c-1 : foldinglist.length-1
var nodes=new Array(nodelength)
var openones=''
}

function checkit(){
for (i=0 ; i <= nodelength ; i++){
if
((ns6&&foldercontentarray.style.display=='')||(ie4&&foldinglist.style.
display==''))
openones=openones + " " + i
}
document.cookie=window.location.pathname+"="+openones
}

if (ns6||ie4)
window.onunload=checkit
//-->
</script>

</body>
</html>
--------------------------------------------------------

When I compile it, or run it straight from IIS, it will not keep cookie
state for the menu selection (not-working).

When I open the webroot folder directly from the C drive (windows explorer)
and dclick the .htm file, it opens and it keeps cookie state on the menus
(working)

What do I have to configure in order to make this work when I run the page
from IIS??

Thanks!

-Todd
 
Todd said:
OK,

I created a .htm page within a new Web solution:

....

Todd,

IIS has nothing to do with cookies.

The difference you may be seeing would be between requesting the page via a
http: url and requesting it via a file: URL (which I believe is what happens
when you just double click in Windows Explorer). In particular, the domain
of the cookie may not match.

There's no way I'm going to read such a large amount of code looking for
this problem. I recommend that you isolate this problem down to just the
cookie issue and see if that helps you. If not, then please post the much
smaller reproducer and I'll be glad to take a look.

Maybe someone else with more patience can see the problem right away?
 
Todd,

When I run this code on my machine I get the same result both ways "dclick"
or browse it
I can not go through the entire code but what are the bad simptoms??


Todd said:
OK,

I created a .htm page within a new Web solution:
--------------------------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Menu</title>
<meta name=vs_defaultClientScript content="JavaScript">
<meta name=vs_targetSchema
content="http://schemas.microsoft.com/intellisense/ie5">
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name=ProgId content=VisualStudio.HTML>
<meta name=Originator content="Microsoft Visual Studio .NET 7.1">

<style>
<!--
#foldheader{cursor:pointer;cursor:hand ; font-weight:bold ;
list-style-image:url(fold.gif)}
#foldinglist{list-style-image:url(list.gif)}
//-->
</style>
<script language="JavaScript1.2">
<!--

//Smart Folding Menu tree- By Dynamic Drive (rewritten 03/03/02)
//For full source code and more DHTML scripts, visit
http://www.dynamicdrive.com
//This credit MUST stay intact for use

var head="display:''"
img1=new Image()
img1.src="fold.gif"
img2=new Image()
img2.src="open.gif"

var ns6=document.getElementById&&!document.all
var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1

function checkcontained(e){
var iscontained=0
cur=ns6? e.target : event.srcElement
i=0
if (cur.id=="foldheader")
iscontained=1
else
while (ns6&&cur.parentNode||(ie4&&cur.parentElement)){
if (cur.id=="foldheader"||cur.id=="foldinglist"){
iscontained=(cur.id=="foldheader")? 1 : 0
break
}
cur=ns6? cur.parentNode : cur.parentElement
}

if (iscontained){
var foldercontent=ns6? cur.nextSibling.nextSibling : cur.all.tags("UL")[0]
if (foldercontent.style.display=="none"){
foldercontent.style.display=""
cur.style.listStyleImage="url(open.gif)"
}
else{
foldercontent.style.display="none"
cur.style.listStyleImage="url(fold.gif)"
}
}
}

if (ie4||ns6)
document.onclick=checkcontained

//-->
</script>

</head>
<body MS_POSITIONING="GridLayout">
<font face="Verdana">

<ul>
<li id="foldheader">News</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.cnn.com">CNN</a></li>
<li><a href="http://www.abcnews.com">ABC News</a></li>
<li><a href="http://www.news.bbc.co.uk">BBC News</a></li>
</ul>

<li id="foldheader">Webmaster</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.dynamicdrive.com">Dynamic Drive</a></li>
<li><a href="http://www.javascriptkit.com">JavaScript Kit</a></li>
<li><a href="http://www.freewarejava.com">Freewarejava.com</a></li>
</ul>

<li id="foldheader">Nested Example</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.dynamicdrive.com">outer 1</a></li>
<li><a href="http://www.dynamicdrive.com">outer 2</a></li>
<li id="foldheader">Nested</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.dynamicdrive.com">nested 1</a></li>
<li><a href="http://www.dynamicdrive.com">nested 2</a></li>
</ul>
<li><a href="http://www.dynamicdrive.com">outer 3</a></li>
<li><a href="http://www.dynamicdrive.com">outer 4</a></li>
</ul>
</ul>

</font>

<p align="center"><font face="Arial" size="-2">Free DHTML scripts provided
by<br>
<a href="http://www.dynamicdrive.com">Dynamic Drive</a></font></p>

<script language="JavaScript1.2">
<!--

function get_cookie(Name) {
//Get cookie routine by Shelley Powers
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
// if cookie exists
if (offset != -1) {
offset += search.length
// set index of beginning of value
end = document.cookie.indexOf(";", offset);
// set index of end of cookie value
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

var foldercontentarray=new Array()
var c=0

if (ns6){
for (i=0;i<document.getElementsByTagName("UL").length;i++){
if (document.getElementsByTagName("UL").id=="foldinglist"){
foldercontentarray[c]=document.getElementsByTagName("UL")
c++
}
}
}

if (get_cookie(window.location.pathname) != ''){
var openresults=get_cookie(window.location.pathname).split(" ")
for (i=0 ; i < openresults.length ; i++){
if (ns6){
foldercontentarray[openresults].style.display=''

foldercontentarray[openresults].previousSibling.previousSibling.style.lis
tStyleImage="url(open.gif)"
}
else{
foldinglist[openresults].style.display=''

document.all[foldinglist[openresults].sourceIndex -1].style.listStyleImag
e="url(open.gif)"
}
}
}

if (ns6||ie4){
var nodelength=ns6? c-1 : foldinglist.length-1
var nodes=new Array(nodelength)
var openones=''
}

function checkit(){
for (i=0 ; i <= nodelength ; i++){
if
((ns6&&foldercontentarray.style.display=='')||(ie4&&foldinglist.style.
display==''))
openones=openones + " " + i
}
document.cookie=window.location.pathname+"="+openones
}

if (ns6||ie4)
window.onunload=checkit
//-->
</script>

</body>
</html>
--------------------------------------------------------

When I compile it, or run it straight from IIS, it will not keep cookie
state for the menu selection (not-working).

When I open the webroot folder directly from the C drive (windows explorer)
and dclick the .htm file, it opens and it keeps cookie state on the menus
(working)

What do I have to configure in order to make this work when I run the page
from IIS??

Thanks!

-Todd
 
if your machine name has an underscore in it that can also
cause problems.

Dan

-----Original Message-----
OK,

I created a .htm page within a new Web solution:
--------------------------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Menu</title>
<meta name=vs_defaultClientScript content="JavaScript">
<meta name=vs_targetSchema
content="http://schemas.microsoft.com/intellisense/ie5">
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name=ProgId content=VisualStudio.HTML>
<meta name=Originator content="Microsoft Visual Studio .NET 7.1">

<style>
<!--
#foldheader{cursor:pointer;cursor:hand ; font- weight:bold ;
list-style-image:url(fold.gif)}
#foldinglist{list-style-image:url(list.gif)}
//-->
</style>
<script language="JavaScript1.2">
<!--

//Smart Folding Menu tree- By Dynamic Drive (rewritten 03/03/02)
//For full source code and more DHTML scripts, visit
http://www.dynamicdrive.com
//This credit MUST stay intact for use

var head="display:''"
img1=new Image()
img1.src="fold.gif"
img2=new Image()
img2.src="open.gif"

var ns6=document.getElementById&&!document.all
var ie4=document.all&&navigator.userAgent.indexOf("Opera") ==-1

function checkcontained(e){
var iscontained=0
cur=ns6? e.target : event.srcElement
i=0
if (cur.id=="foldheader")
iscontained=1
else
while (ns6&&cur.parentNode||(ie4&&cur.parentElement)){
if (cur.id=="foldheader"||cur.id=="foldinglist"){
iscontained=(cur.id=="foldheader")? 1 : 0
break
}
cur=ns6? cur.parentNode : cur.parentElement
}

if (iscontained){
var foldercontent=ns6? cur.nextSibling.nextSibling : cur.all.tags("UL")[0]
if (foldercontent.style.display=="none"){
foldercontent.style.display=""
cur.style.listStyleImage="url(open.gif)"
}
else{
foldercontent.style.display="none"
cur.style.listStyleImage="url(fold.gif)"
}
}
}

if (ie4||ns6)
document.onclick=checkcontained

//-->
</script>

</head>
<body MS_POSITIONING="GridLayout">
<font face="Verdana">

<ul>
<li id="foldheader">News</li>
<ul id="foldinglist" style="display:none" style=& {head};>
<li><a href="http://www.cnn.com">CNN</a></li>
<li><a href="http://www.abcnews.com">ABC
News said:
News said:
</ul>

<li id="foldheader">Webmaster</li>
<ul id="foldinglist" style="display:none" style=& {head};>
<li><a href="http://www.dynamicdrive.com">Dynamic
Drive said:
href="http://www.javascriptkit.com">JavaScript Kit said:
href="http://www.freewarejava.com">Freewarejava.com said:
</ul>

<li id="foldheader">Nested Example</li>
<ul id="foldinglist" style="display:none" style=& {head};>
<li><a href="http://www.dynamicdrive.com">outer
1 said:
2 said:
<li id="foldheader">Nested</li>
<ul id="foldinglist" style="display:none" style=& {head};>
<li><a href="http://www.dynamicdrive.com">nested
1 said:
2 said:
3 said:
4 said:
</ul>
</ul>

</font>

<p align="center"><font face="Arial" size="-2">Free DHTML scripts provided
by<br>
<a href="http://www.dynamicdrive.com">Dynamic
Drive said:
<script language="JavaScript1.2">
<!--

function get_cookie(Name) {
//Get cookie routine by Shelley Powers
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
// if cookie exists
if (offset != -1) {
offset += search.length
// set index of beginning of value
end = document.cookie.indexOf(";", offset);
// set index of end of cookie value
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring (offset, end))
}
}
return returnvalue;
}

var foldercontentarray=new Array()
var c=0

if (ns6){
for (i=0;i<document.getElementsByTagName("UL").length;i++) {
if (document.getElementsByTagName("UL") .id=="foldinglist"){
foldercontentarray[c]=document.getElementsByTagName("UL")

c++
}
}
}

if (get_cookie(window.location.pathname) != ''){
var openresults=get_cookie

(window.location.pathname).split(" ")
for (i=0 ; i < openresults.length ; i++){
if (ns6){
foldercontentarray[openresults].style.display=''

foldercontentarray[openresults ].previousSibling.previousSibling.style.lis
tStyleImage="url(open.gif)"
}
else{
foldinglist[openresults].style.display=''




document.all[foldinglist[openresults].sourceIndex - 1].style.listStyleImag
e="url(open.gif)"
}
}
}

if (ns6||ie4){
var nodelength=ns6? c-1 : foldinglist.length-1
var nodes=new Array(nodelength)
var openones=''
}

function checkit(){
for (i=0 ; i <= nodelength ; i++){
if
((ns6&&foldercontentarray.style.display=='')|| (ie4&&foldinglist.style.
display==''))
openones=openones + " " + i
}
document.cookie=window.location.pathname+"="+openones
}

if (ns6||ie4)
window.onunload=checkit
//-->
</script>

</body>
</html>
--------------------------------------------------------

When I compile it, or run it straight from IIS, it will not keep cookie
state for the menu selection (not-working).

When I open the webroot folder directly from the C drive (windows explorer)
and dclick the .htm file, it opens and it keeps cookie state on the menus
(working)

What do I have to configure in order to make this work when I run the page
from IIS??

Thanks!

-Todd


.
 
Guys, I don't think its problems with the source code.

When I open the page via http://localhost/Menu.htm each time I expand a menu
and refresh the page, the menus always default to all being closed - not
writing to the document.cookie (stateless)

When I open the page via C:\Inetpub\wwwroot\Menu.htm each time I expand a
menu and refresh the page, the menus keep state, code writes to the
document.cookie.

All I am trying to do is add/implement a static tree navigation menu into an
ASP.NET application I have coded - and I want to keep the navigation state
(which menus the user has expanded, etc) on the client, not the server..

It was not a problem in the asp environment, but seems to be killing me in
asp.net
hehe

I can't figure out why it will not write to the document.cookie when I call
the page via http...


MS News (MS ILM) said:
Todd,

When I run this code on my machine I get the same result both ways "dclick"
or browse it
I can not go through the entire code but what are the bad simptoms??


Todd said:
OK,

I created a .htm page within a new Web solution:
--------------------------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Menu</title>
<meta name=vs_defaultClientScript content="JavaScript">
<meta name=vs_targetSchema
content="http://schemas.microsoft.com/intellisense/ie5">
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name=ProgId content=VisualStudio.HTML>
<meta name=Originator content="Microsoft Visual Studio .NET 7.1">

<style>
<!--
#foldheader{cursor:pointer;cursor:hand ; font-weight:bold ;
list-style-image:url(fold.gif)}
#foldinglist{list-style-image:url(list.gif)}
//-->
</style>
<script language="JavaScript1.2">
<!--

//Smart Folding Menu tree- By Dynamic Drive (rewritten 03/03/02)
//For full source code and more DHTML scripts, visit
http://www.dynamicdrive.com
//This credit MUST stay intact for use

var head="display:''"
img1=new Image()
img1.src="fold.gif"
img2=new Image()
img2.src="open.gif"

var ns6=document.getElementById&&!document.all
var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1

function checkcontained(e){
var iscontained=0
cur=ns6? e.target : event.srcElement
i=0
if (cur.id=="foldheader")
iscontained=1
else
while (ns6&&cur.parentNode||(ie4&&cur.parentElement)){
if (cur.id=="foldheader"||cur.id=="foldinglist"){
iscontained=(cur.id=="foldheader")? 1 : 0
break
}
cur=ns6? cur.parentNode : cur.parentElement
}

if (iscontained){
var foldercontent=ns6? cur.nextSibling.nextSibling : cur.all.tags("UL")[0]
if (foldercontent.style.display=="none"){
foldercontent.style.display=""
cur.style.listStyleImage="url(open.gif)"
}
else{
foldercontent.style.display="none"
cur.style.listStyleImage="url(fold.gif)"
}
}
}

if (ie4||ns6)
document.onclick=checkcontained

//-->
</script>

</head>
<body MS_POSITIONING="GridLayout">
<font face="Verdana">

<ul>
<li id="foldheader">News</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.cnn.com">CNN</a></li>
<li><a href="http://www.abcnews.com">ABC News</a></li>
<li><a href="http://www.news.bbc.co.uk">BBC News</a></li>
</ul>

<li id="foldheader">Webmaster</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.dynamicdrive.com">Dynamic Drive</a></li>
<li><a href="http://www.javascriptkit.com">JavaScript Kit</a></li>
<li><a
href="http://www.freewarejava.com">Freewarejava.com said:
</ul>

<li id="foldheader">Nested Example</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.dynamicdrive.com">outer 1</a></li>
<li><a href="http://www.dynamicdrive.com">outer 2</a></li>
<li id="foldheader">Nested</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.dynamicdrive.com">nested 1</a></li>
<li><a href="http://www.dynamicdrive.com">nested 2</a></li>
</ul>
<li><a href="http://www.dynamicdrive.com">outer 3</a></li>
<li><a href="http://www.dynamicdrive.com">outer 4</a></li>
</ul>
</ul>

</font>

<p align="center"><font face="Arial" size="-2">Free DHTML scripts provided
by<br>
<a href="http://www.dynamicdrive.com">Dynamic Drive</a></font></p>

<script language="JavaScript1.2">
<!--

function get_cookie(Name) {
//Get cookie routine by Shelley Powers
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
// if cookie exists
if (offset != -1) {
offset += search.length
// set index of beginning of value
end = document.cookie.indexOf(";", offset);
// set index of end of cookie value
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

var foldercontentarray=new Array()
var c=0

if (ns6){
for (i=0;i<document.getElementsByTagName("UL").length;i++){
if (document.getElementsByTagName("UL").id=="foldinglist"){
foldercontentarray[c]=document.getElementsByTagName("UL")
c++
}
}
}

if (get_cookie(window.location.pathname) != ''){
var openresults=get_cookie(window.location.pathname).split(" ")
for (i=0 ; i < openresults.length ; i++){
if (ns6){
foldercontentarray[openresults].style.display=''


foldercontentarray[openresults].previousSibling.previousSibling.style.lis
tStyleImage="url(open.gif)"
}
else{
foldinglist[openresults].style.display=''


document.all[foldinglist[openresults].sourceIndex -1].style.listStyleImag
e="url(open.gif)"
}
}
}

if (ns6||ie4){
var nodelength=ns6? c-1 : foldinglist.length-1
var nodes=new Array(nodelength)
var openones=''
}

function checkit(){
for (i=0 ; i <= nodelength ; i++){
if
((ns6&&foldercontentarray.style.display=='')||(ie4&&foldinglist.style.
display==''))
openones=openones + " " + i
}
document.cookie=window.location.pathname+"="+openones
}

if (ns6||ie4)
window.onunload=checkit
//-->
</script>

</body>
</html>
--------------------------------------------------------

When I compile it, or run it straight from IIS, it will not keep cookie
state for the menu selection (not-working).

When I open the webroot folder directly from the C drive (windows explorer)
and dclick the .htm file, it opens and it keeps cookie state on the menus
(working)

What do I have to configure in order to make this work when I run the page
from IIS??

Thanks!

-Todd
 
Todd said:
Guys, I don't think its problems with the source code.

When I open the page via http://localhost/Menu.htm each time I expand a menu
and refresh the page, the menus always default to all being closed - not
writing to the document.cookie (stateless)

When I open the page via C:\Inetpub\wwwroot\Menu.htm each time I expand a
menu and refresh the page, the menus keep state, code writes to the
document.cookie.

Todd, like I said. Remove the complications of the menu code and concentrate
on the cookie problem. You'll probably find that the problem is the domain
field of the cookie. It needs to be blank for localhost.
 
Yeah, I will try to hardcode the domain field path for the cookie and see if
that works. If not I will just scratch everything and keep client state on
an parent IFrame or something..at least I know that works.
hehe

Thanks John

-Todd
 
Todd said:
Yeah, I will try to hardcode the domain field path for the cookie and see if
that works. If not I will just scratch everything and keep client state on
an parent IFrame or something..at least I know that works.
hehe

Todd, that's not what I said.

I said, try to find out what the domain is set to, then learn to set it the
right way.

How are you setting it now?
 
Todd,

Still works in here


Todd said:
Guys, I don't think its problems with the source code.

When I open the page via http://localhost/Menu.htm each time I expand a menu
and refresh the page, the menus always default to all being closed - not
writing to the document.cookie (stateless)

When I open the page via C:\Inetpub\wwwroot\Menu.htm each time I expand a
menu and refresh the page, the menus keep state, code writes to the
document.cookie.

All I am trying to do is add/implement a static tree navigation menu into an
ASP.NET application I have coded - and I want to keep the navigation state
(which menus the user has expanded, etc) on the client, not the server..

It was not a problem in the asp environment, but seems to be killing me in
asp.net
hehe

I can't figure out why it will not write to the document.cookie when I call
the page via http...


MS News (MS ILM) said:
Todd,

When I run this code on my machine I get the same result both ways "dclick"
or browse it
I can not go through the entire code but what are the bad simptoms??


Todd said:
OK,

I created a .htm page within a new Web solution:
--------------------------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Menu</title>
<meta name=vs_defaultClientScript content="JavaScript">
<meta name=vs_targetSchema
content="http://schemas.microsoft.com/intellisense/ie5">
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name=ProgId content=VisualStudio.HTML>
<meta name=Originator content="Microsoft Visual Studio .NET 7.1">

<style>
<!--
#foldheader{cursor:pointer;cursor:hand ; font-weight:bold ;
list-style-image:url(fold.gif)}
#foldinglist{list-style-image:url(list.gif)}
//-->
</style>
<script language="JavaScript1.2">
<!--

//Smart Folding Menu tree- By Dynamic Drive (rewritten 03/03/02)
//For full source code and more DHTML scripts, visit
http://www.dynamicdrive.com
//This credit MUST stay intact for use

var head="display:''"
img1=new Image()
img1.src="fold.gif"
img2=new Image()
img2.src="open.gif"

var ns6=document.getElementById&&!document.all
var ie4=document.all&&navigator.userAgent.indexOf("Opera")==-1

function checkcontained(e){
var iscontained=0
cur=ns6? e.target : event.srcElement
i=0
if (cur.id=="foldheader")
iscontained=1
else
while (ns6&&cur.parentNode||(ie4&&cur.parentElement)){
if (cur.id=="foldheader"||cur.id=="foldinglist"){
iscontained=(cur.id=="foldheader")? 1 : 0
break
}
cur=ns6? cur.parentNode : cur.parentElement
}

if (iscontained){
var foldercontent=ns6? cur.nextSibling.nextSibling : cur.all.tags("UL")[0]
if (foldercontent.style.display=="none"){
foldercontent.style.display=""
cur.style.listStyleImage="url(open.gif)"
}
else{
foldercontent.style.display="none"
cur.style.listStyleImage="url(fold.gif)"
}
}
}

if (ie4||ns6)
document.onclick=checkcontained

//-->
</script>

</head>
<body MS_POSITIONING="GridLayout">
<font face="Verdana">

<ul>
<li id="foldheader">News</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.cnn.com">CNN</a></li>
<li><a href="http://www.abcnews.com">ABC News</a></li>
<li><a href="http://www.news.bbc.co.uk">BBC News</a></li>
</ul>

<li id="foldheader">Webmaster</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.dynamicdrive.com">Dynamic Drive</a></li>
<li><a href="http://www.javascriptkit.com">JavaScript
Kit said:
href="http://www.freewarejava.com">Freewarejava.com said:
</ul>

<li id="foldheader">Nested Example</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.dynamicdrive.com">outer 1</a></li>
<li><a href="http://www.dynamicdrive.com">outer 2</a></li>
<li id="foldheader">Nested</li>
<ul id="foldinglist" style="display:none" style=&{head};>
<li><a href="http://www.dynamicdrive.com">nested 1</a></li>
<li><a href="http://www.dynamicdrive.com">nested 2</a></li>
</ul>
<li><a href="http://www.dynamicdrive.com">outer 3</a></li>
<li><a href="http://www.dynamicdrive.com">outer 4</a></li>
</ul>
</ul>

</font>

<p align="center"><font face="Arial" size="-2">Free DHTML scripts provided
by<br>
<a href="http://www.dynamicdrive.com">Dynamic Drive</a></font></p>

<script language="JavaScript1.2">
<!--

function get_cookie(Name) {
//Get cookie routine by Shelley Powers
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
// if cookie exists
if (offset != -1) {
offset += search.length
// set index of beginning of value
end = document.cookie.indexOf(";", offset);
// set index of end of cookie value
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

var foldercontentarray=new Array()
var c=0

if (ns6){
for (i=0;i<document.getElementsByTagName("UL").length;i++){
if (document.getElementsByTagName("UL").id=="foldinglist"){
foldercontentarray[c]=document.getElementsByTagName("UL")
c++
}
}
}

if (get_cookie(window.location.pathname) != ''){
var openresults=get_cookie(window.location.pathname).split(" ")
for (i=0 ; i < openresults.length ; i++){
if (ns6){
foldercontentarray[openresults].style.display=''



foldercontentarray[openresults].previousSibling.previousSibling.style.lis
tStyleImage="url(open.gif)"
}
else{
foldinglist[openresults].style.display=''



document.all[foldinglist[openresults].sourceIndex -1].style.listStyleImag
((ns6&&foldercontentarray.style.display=='')||(ie4&&foldinglist.style.
 
Dan,

You totally ROCK

Dan said:
if your machine name has an underscore in it that can also
cause problems.

Dan

-----Original Message-----
OK,

I created a .htm page within a new Web solution:
--------------------------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Menu</title>
<meta name=vs_defaultClientScript content="JavaScript">
<meta name=vs_targetSchema
content="http://schemas.microsoft.com/intellisense/ie5">
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name=ProgId content=VisualStudio.HTML>
<meta name=Originator content="Microsoft Visual Studio .NET 7.1">

<style>
<!--
#foldheader{cursor:pointer;cursor:hand ; font- weight:bold ;
list-style-image:url(fold.gif)}
#foldinglist{list-style-image:url(list.gif)}
//-->
</style>
<script language="JavaScript1.2">
<!--

//Smart Folding Menu tree- By Dynamic Drive (rewritten 03/03/02)
//For full source code and more DHTML scripts, visit
http://www.dynamicdrive.com
//This credit MUST stay intact for use

var head="display:''"
img1=new Image()
img1.src="fold.gif"
img2=new Image()
img2.src="open.gif"

var ns6=document.getElementById&&!document.all
var ie4=document.all&&navigator.userAgent.indexOf("Opera") ==-1

function checkcontained(e){
var iscontained=0
cur=ns6? e.target : event.srcElement
i=0
if (cur.id=="foldheader")
iscontained=1
else
while (ns6&&cur.parentNode||(ie4&&cur.parentElement)){
if (cur.id=="foldheader"||cur.id=="foldinglist"){
iscontained=(cur.id=="foldheader")? 1 : 0
break
}
cur=ns6? cur.parentNode : cur.parentElement
}

if (iscontained){
var foldercontent=ns6? cur.nextSibling.nextSibling : cur.all.tags("UL")[0]
if (foldercontent.style.display=="none"){
foldercontent.style.display=""
cur.style.listStyleImage="url(open.gif)"
}
else{
foldercontent.style.display="none"
cur.style.listStyleImage="url(fold.gif)"
}
}
}

if (ie4||ns6)
document.onclick=checkcontained

//-->
</script>

</head>
<body MS_POSITIONING="GridLayout">
<font face="Verdana">

<ul>
<li id="foldheader">News</li>
<ul id="foldinglist" style="display:none" style=& {head};>
<li><a href="http://www.cnn.com">CNN</a></li>
<li><a href="http://www.abcnews.com">ABC
News said:
News said:
</ul>

<li id="foldheader">Webmaster</li>
<ul id="foldinglist" style="display:none" style=& {head};>
<li><a href="http://www.dynamicdrive.com">Dynamic
Drive said:
href="http://www.javascriptkit.com">JavaScript Kit said:
href="http://www.freewarejava.com">Freewarejava.com said:
</ul>

<li id="foldheader">Nested Example</li>
<ul id="foldinglist" style="display:none" style=& {head};>
<li><a href="http://www.dynamicdrive.com">outer
1 said:
2 said:
<li id="foldheader">Nested</li>
<ul id="foldinglist" style="display:none" style=& {head};>
<li><a href="http://www.dynamicdrive.com">nested
1 said:
2 said:
3 said:
4 said:
</ul>
</ul>

</font>

<p align="center"><font face="Arial" size="-2">Free DHTML scripts provided
by<br>
<a href="http://www.dynamicdrive.com">Dynamic
Drive said:
<script language="JavaScript1.2">
<!--

function get_cookie(Name) {
//Get cookie routine by Shelley Powers
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
// if cookie exists
if (offset != -1) {
offset += search.length
// set index of beginning of value
end = document.cookie.indexOf(";", offset);
// set index of end of cookie value
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring (offset, end))
}
}
return returnvalue;
}

var foldercontentarray=new Array()
var c=0

if (ns6){
for (i=0;i<document.getElementsByTagName("UL").length;i++) {
if (document.getElementsByTagName("UL") .id=="foldinglist"){
foldercontentarray[c]=document.getElementsByTagName("UL")

c++
}
}
}

if (get_cookie(window.location.pathname) != ''){
var openresults=get_cookie

(window.location.pathname).split(" ")
for (i=0 ; i < openresults.length ; i++){
if (ns6){
foldercontentarray[openresults].style.display=''

foldercontentarray[openresults ].previousSibling.previousSibling.style.lis
tStyleImage="url(open.gif)"
}
else{
foldinglist[openresults].style.display=''




document.all[foldinglist[openresults].sourceIndex - 1].style.listStyleImag
e="url(open.gif)"
}
}
}

if (ns6||ie4){
var nodelength=ns6? c-1 : foldinglist.length-1
var nodes=new Array(nodelength)
var openones=''
}

function checkit(){
for (i=0 ; i <= nodelength ; i++){
if
((ns6&&foldercontentarray.style.display=='')|| (ie4&&foldinglist.style.
display==''))
openones=openones + " " + i
}
document.cookie=window.location.pathname+"="+openones
}

if (ns6||ie4)
window.onunload=checkit
//-->
</script>

</body>
</html>
--------------------------------------------------------

When I compile it, or run it straight from IIS, it will not keep cookie
state for the menu selection (not-working).

When I open the webroot folder directly from the C drive (windows explorer)
and dclick the .htm file, it opens and it keeps cookie state on the menus
(working)

What do I have to configure in order to make this work when I run the page
from IIS??

Thanks!

-Todd


.
 
<script language="JavaScript1.2">
<!--

function get_cookie(Name) {
//Get cookie routine by Shelley Powers
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
// if cookie exists
if (offset != -1) {
offset += search.length
// set index of beginning of value
end = document.cookie.indexOf(";", offset);
// set index of end of cookie value
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

var foldercontentarray=new Array()
var c=0

if (ns6){
for (i=0;i<document.getElementsByTagName("UL").length;i++){
if (document.getElementsByTagName("UL").id=="foldinglist"){
foldercontentarray[c]=document.getElementsByTagName("UL")
c++
}
}
}

if (get_cookie(window.location.pathname) != ''){
var openresults=get_cookie(window.location.pathname).split(" ")
for (i=0 ; i < openresults.length ; i++){
if (ns6){
foldercontentarray[openresults].style.display=''

foldercontentarray[openresults].previousSibling.previousSibling.style.lis
tStyleImage="url(open.gif)"
}
else{
foldinglist[openresults].style.display=''




document.all[foldinglist[openresults].sourceIndex -1].style.listStyleImag
e="url(open.gif)"
}
}
}

if (ns6||ie4){
var nodelength=ns6? c-1 : foldinglist.length-1
var nodes=new Array(nodelength)
var openones=''
}

function checkit(){
for (i=0 ; i <= nodelength ; i++){
if
((ns6&&foldercontentarray.style.display=='')||(ie4&&foldinglist.style.
display==''))
openones=openones + " " + i
}
document.cookie=window.location.pathname+"="+openones
}

if (ns6||ie4)
window.onunload=checkit
//-->
</script>
 
Todd, what is window.location.pathname in the case where it works and the
case where it does not work?


--
John Saunders
Internet Engineer
(e-mail address removed)



--
John Saunders
Internet Engineer
(e-mail address removed)


Todd said:
<script language="JavaScript1.2">
<!--

function get_cookie(Name) {
//Get cookie routine by Shelley Powers
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
// if cookie exists
if (offset != -1) {
offset += search.length
// set index of beginning of value
end = document.cookie.indexOf(";", offset);
// set index of end of cookie value
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

var foldercontentarray=new Array()
var c=0

if (ns6){
for (i=0;i<document.getElementsByTagName("UL").length;i++){
if (document.getElementsByTagName("UL").id=="foldinglist"){
foldercontentarray[c]=document.getElementsByTagName("UL")
c++
}
}
}

if (get_cookie(window.location.pathname) != ''){
var openresults=get_cookie(window.location.pathname).split(" ")
for (i=0 ; i < openresults.length ; i++){
if (ns6){
foldercontentarray[openresults].style.display=''

foldercontentarray[openresults].previousSibling.previousSibling.style.lis
tStyleImage="url(open.gif)"
}
else{
foldinglist[openresults].style.display=''

document.all[foldinglist[openresults].sourceIndex -1].style.listStyleImag
e="url(open.gif)"
}
}
}

if (ns6||ie4){
var nodelength=ns6? c-1 : foldinglist.length-1
var nodes=new Array(nodelength)
var openones=''
}

function checkit(){
for (i=0 ; i <= nodelength ; i++){
if
((ns6&&foldercontentarray.style.display=='')||(ie4&&foldinglist.style.
display==''))
openones=openones + " " + i
}
document.cookie=window.location.pathname+"="+openones
}

if (ns6||ie4)
window.onunload=checkit
//-->
</script>


John Saunders said:
Todd,

I meant the _cookie_ domain.

Please post the code you use to create the cookie.
 
Todd, I think someone posted in this thread that there is a problem with
cookies and hosts with underscore in the name...
--
John Saunders
Internet Engineer
(e-mail address removed)


Todd said:
It is the same for both:

"MyWebProject/Menu.htm"

It works great when I type http://localhost/MyWebProject/Menu.htm into the
Browser.

If does not work when I type http://todd_sloan/MyWebProject/Menu.htm into
the Browser.

Odd?


John Saunders said:
Todd, what is window.location.pathname in the case where it works and the
case where it does not work?


--
John Saunders
Internet Engineer
(e-mail address removed)



--
John Saunders
Internet Engineer
(e-mail address removed)


Todd said:
<script language="JavaScript1.2">
<!--

function get_cookie(Name) {
//Get cookie routine by Shelley Powers
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
// if cookie exists
if (offset != -1) {
offset += search.length
// set index of beginning of value
end = document.cookie.indexOf(";", offset);
// set index of end of cookie value
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

var foldercontentarray=new Array()
var c=0

if (ns6){
for (i=0;i<document.getElementsByTagName("UL").length;i++){
if (document.getElementsByTagName("UL").id=="foldinglist"){
foldercontentarray[c]=document.getElementsByTagName("UL")
c++
}
}
}

if (get_cookie(window.location.pathname) != ''){
var openresults=get_cookie(window.location.pathname).split(" ")
for (i=0 ; i < openresults.length ; i++){
if (ns6){
foldercontentarray[openresults].style.display=''



foldercontentarray[openresults].previousSibling.previousSibling.style.lis
tStyleImage="url(open.gif)"
}
else{
foldinglist[openresults].style.display=''



document.all[foldinglist[openresults].sourceIndex -1].style.listStyleImag
((ns6&&foldercontentarray.style.display=='')||(ie4&&foldinglist.style.
 
Got it working!

Yeah I have like 10-15 different aspx pages all sharing the same .htm menu
() and what it was doing was creating a cookie for the menu state on each
aspx. page...hehe

So I forced the cookie to be created in one page, in the IFrame's parent,
and then hardcoded the window.location.pathname
("/ClerkOfCourt/CourtIndexing/MainNavigator.aspx")

<script language="JavaScript">
<!--
function get_cookie(Name)
{
var search = Name + "="
var returnvalue = "";
if (parent.document.cookie.length > 0)
{
offset = parent.document.cookie.indexOf(search)
// if cookie exists
if (offset != -1)
{
offset += search.length
// set index of beginning of value
end = parent.document.cookie.indexOf(";", offset);
// set index of end of cookie value
if (end == -1) end = parent.document.cookie.length;
returnvalue=unescape(parent.document.cookie.substring(offset, end))
}
}
return returnvalue;
}

var foldercontentarray=new Array()
var c=0

if (get_cookie("/ClerkOfCourt/CourtIndexing/MainNavigator.aspx") != '')
{
var
openresults=get_cookie("/ClerkOfCourt/CourtIndexing/MainNavigator.aspx").spl
it(" ")
for (i=0 ; i < openresults.length ; i++)
{
if (ns6)
{
foldercontentarray[openresults].style.display=''
}
else
{
foldinglist[openresults].style.display=''
}
}
}

if (ns6||ie4)
{
var nodelength=ns6? c-1 : foldinglist.length-1
var nodes=new Array(nodelength)
var openones=''
}

function checkit()
{
for (i=0 ; i <= nodelength ; i++)
{
if
((ns6&&foldercontentarray.style.display=='')||(ie4&&foldinglist.style.
display==''))
openones=openones + " " + i
}
//parent.document.cookie=window.location.pathname+"="+openones

parent.document.cookie="/ClerkOfCourt/CourtIndexing/MainNavigator.aspx="+ope
nones
alert(parent.document.cookie)
}

if (ns6||ie4)
window.onunload=checkit
//-->
</script>


Working like a champ now.

Thanks for all the help John. You pointed me in the right direction. Voice
of reason..
hehe

-T

John Saunders said:
Todd, I think someone posted in this thread that there is a problem with
cookies and hosts with underscore in the name...
--
John Saunders
Internet Engineer
(e-mail address removed)


Todd said:
It is the same for both:

"MyWebProject/Menu.htm"

It works great when I type http://localhost/MyWebProject/Menu.htm into the
Browser.

If does not work when I type http://todd_sloan/MyWebProject/Menu.htm into
the Browser.

Odd?


John Saunders said:
Todd, what is window.location.pathname in the case where it works and the
case where it does not work?


--
John Saunders
Internet Engineer
(e-mail address removed)



--
John Saunders
Internet Engineer
(e-mail address removed)


<script language="JavaScript1.2">
<!--

function get_cookie(Name) {
//Get cookie routine by Shelley Powers
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
// if cookie exists
if (offset != -1) {
offset += search.length
// set index of beginning of value
end = document.cookie.indexOf(";", offset);
// set index of end of cookie value
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

var foldercontentarray=new Array()
var c=0

if (ns6){
for (i=0;i<document.getElementsByTagName("UL").length;i++){
if (document.getElementsByTagName("UL").id=="foldinglist"){
foldercontentarray[c]=document.getElementsByTagName("UL")
c++
}
}
}

if (get_cookie(window.location.pathname) != ''){
var openresults=get_cookie(window.location.pathname).split(" ")
for (i=0 ; i < openresults.length ; i++){
if (ns6){
foldercontentarray[openresults].style.display=''




foldercontentarray[openresults].previousSibling.previousSibling.style.lis
tStyleImage="url(open.gif)"
}
else{
foldinglist[openresults].style.display=''



document.all[foldinglist[openresults].sourceIndex -1].style.listStyleImag
((ns6&&foldercontentarray.style.display=='')||(ie4&&foldinglist.style.
 
Good job John.

John Saunders said:
Todd, I think someone posted in this thread that there is a problem with
cookies and hosts with underscore in the name...
--
John Saunders
Internet Engineer
(e-mail address removed)


Todd said:
It is the same for both:

"MyWebProject/Menu.htm"

It works great when I type http://localhost/MyWebProject/Menu.htm into the
Browser.

If does not work when I type http://todd_sloan/MyWebProject/Menu.htm into
the Browser.

Odd?


John Saunders said:
Todd, what is window.location.pathname in the case where it works and the
case where it does not work?


--
John Saunders
Internet Engineer
(e-mail address removed)



--
John Saunders
Internet Engineer
(e-mail address removed)


<script language="JavaScript1.2">
<!--

function get_cookie(Name) {
//Get cookie routine by Shelley Powers
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
// if cookie exists
if (offset != -1) {
offset += search.length
// set index of beginning of value
end = document.cookie.indexOf(";", offset);
// set index of end of cookie value
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

var foldercontentarray=new Array()
var c=0

if (ns6){
for (i=0;i<document.getElementsByTagName("UL").length;i++){
if (document.getElementsByTagName("UL").id=="foldinglist"){
foldercontentarray[c]=document.getElementsByTagName("UL")
c++
}
}
}

if (get_cookie(window.location.pathname) != ''){
var openresults=get_cookie(window.location.pathname).split(" ")
for (i=0 ; i < openresults.length ; i++){
if (ns6){
foldercontentarray[openresults].style.display=''




foldercontentarray[openresults].previousSibling.previousSibling.style.lis
tStyleImage="url(open.gif)"
}
else{
foldinglist[openresults].style.display=''



document.all[foldinglist[openresults].sourceIndex -1].style.listStyleImag
((ns6&&foldercontentarray.style.display=='')||(ie4&&foldinglist.style.
 
Yeah, I guess if you spend enough time debugging your own cookie errors, you
can sometimes help some else with theirs. :-)

--
John Saunders
Internet Engineer
(e-mail address removed)


MS News (MS ILM) said:
Good job John.

John Saunders said:
Todd, I think someone posted in this thread that there is a problem with
cookies and hosts with underscore in the name...
--
John Saunders
Internet Engineer
(e-mail address removed)


Todd said:
It is the same for both:

"MyWebProject/Menu.htm"

It works great when I type http://localhost/MyWebProject/Menu.htm into the
Browser.

If does not work when I type http://todd_sloan/MyWebProject/Menu.htm into
the Browser.

Odd?


Todd, what is window.location.pathname in the case where it works
and
the
case where it does not work?


--
John Saunders
Internet Engineer
(e-mail address removed)



--
John Saunders
Internet Engineer
(e-mail address removed)


<script language="JavaScript1.2">
<!--

function get_cookie(Name) {
//Get cookie routine by Shelley Powers
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
// if cookie exists
if (offset != -1) {
offset += search.length
// set index of beginning of value
end = document.cookie.indexOf(";", offset);
// set index of end of cookie value
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

var foldercontentarray=new Array()
var c=0

if (ns6){
for (i=0;i<document.getElementsByTagName("UL").length;i++){
if (document.getElementsByTagName("UL").id=="foldinglist"){
foldercontentarray[c]=document.getElementsByTagName("UL")
c++
}
}
}

if (get_cookie(window.location.pathname) != ''){
var openresults=get_cookie(window.location.pathname).split(" ")
for (i=0 ; i < openresults.length ; i++){
if (ns6){
foldercontentarray[openresults].style.display=''





foldercontentarray[openresults].previousSibling.previousSibling.style.lis
tStyleImage="url(open.gif)"
}
else{
foldinglist[openresults].style.display=''



document.all[foldinglist[openresults].sourceIndex -1].style.listStyleImag
((ns6&&foldercontentarray.style.display=='')||(ie4&&foldinglist.style. learn
 
Back
Top