Relative Links (again)

Having problems with DHTML Menu? There is usually somebody here who knows the answer.
Post Reply
User avatar
stephen702
Super Advanced
Super Advanced
Posts: 77
Joined: Wed Jul 16, 2003 4:53 am
Location: Davis, CA
Contact:

Relative Links (again)

Post by stephen702 »

I spoke too soon. I'm still having problems trying to use paths in the menu_data.js file and also in html pages.

This is new territory for me, and I clearly am not grasping some very basic concepts. Perhaps someone can look at the problems below, and figure out why this is turning into a monumental frustration for me.

I'm on a shared server, and the path (at least in FTP) is: /home/aact/www/


PROBLEM ONE: JAVASCRIPT ERROR

When I use the following script in the html header of a page [in the directory /home/aact/www/start], it produces a javascript error message that "ns4 is undefined"

<SCRIPT language=JavaScript src="/home/aact/www/milonic_src.js" type=text/javascript></SCRIPT><script language=JavaScript>if(ns4)_d.write("<scr"+"ipt language=JavaScript src=/home/aact/www/mmenuns4.js><\/scr"+"ipt>");else _d.write("<scr"+"ipt language=JavaScript src=/home/aact/www/mmenudom.js><\/scr"+"ipt>");</script><SCRIPT language=JavaScript src="/home/aact/www/menu_data.js" type=text/javascript></SCRIPT>

You can see the error at: http://www.aact.org/start/index2.html


PROBLEM TWO: THE FAULTY MENU

If I change the script on the page referenced above to the following, I get a menu, but the images and links don't work:
<SCRIPT language=JavaScript src="../milonic_src.js" type=text/javascript></SCRIPT><script language=JavaScript>if(ns4)_d.write("<scr"+"ipt language=JavaScript src=../mmenuns4.js><\/scr"+"ipt>");else _d.write("<scr"+"ipt language=JavaScript src=../mmenudom.js><\/scr"+"ipt>");</script><SCRIPT language=JavaScript src="../menu_data.js" type=text/javascript></SCRIPT>

You can see the faulty menu at: http://www.aact.org/start/index3.html

I'm sure that the faulty menu results from a problem in the menu_data1.js file, but I don't know what's causing links and images to fail.

The menu_data1.js syntax is:
aI("text=Logos;url=/home/aact/www/members/logos.html;image=/home/aact/www/dot_gold.gif;status=Logos");

However, the "dot_gold image" doesn't display and the "url=" sends the browser to a non-existent URL [http://www.aact.org/home/aact/www/logos.html]


THANKS FOR ANY HELP OR SUGGESTIONS.
User avatar
Maz
Milonic God
Milonic God
Posts: 1717
Joined: Fri Jun 06, 2003 11:39 pm
Location: San Francisco
Contact:

Post by Maz »

The paths are not quite right,

I locate your js files here

http://www.aact.org/menu_data.js

Therefore all you need is /menu_data.js

Do the same for the images /image.gif

You can ignore everything before www and from www add the slash.

Correct all your paths and you should have it working.

Regards,
maz
User avatar
stephen702
Super Advanced
Super Advanced
Posts: 77
Joined: Wed Jul 16, 2003 4:53 am
Location: Davis, CA
Contact:

Post by stephen702 »

Maz's explanation of how to code the relative path seems to be working:

http://www.aact.org/start/index2.html

However, while the menu now displays (and works) online, it doesn't display at all when I view the page on my computer, where I always test before uploading. I assume that Windows doesn't understand the path in the header:

<SCRIPT language=JavaScript src="/milonic_src.js" type=text/javascript></SCRIPT><script language=JavaScript>if(ns4)_d.write("<scr"+"ipt language=JavaScript src=/mmenuns4.js><\/scr"+"ipt>");else _d.write("<scr"+"ipt language=JavaScript src=/mmenudom.js><\/scr"+"ipt>");</script><SCRIPT language=JavaScript src="/menu_data1.js" type=text/javascript></SCRIPT>

Since I am in the process of redesigning all pages with the Milonic menu, I need to see the menu displayed. For any pages in the main directory, I can just take out the "/", but that still leaves those pages in subdirectories.

Is there a solution to this?

Many thanks!
User avatar
stephen702
Super Advanced
Super Advanced
Posts: 77
Joined: Wed Jul 16, 2003 4:53 am
Location: Davis, CA
Contact:

Post by stephen702 »

On my own computer, not only does the menu not display, but I get a "runtime error" message that "ns4 is undefined"
heinrichegg
Advanced
Advanced
Posts: 12
Joined: Sat Nov 29, 2003 1:40 am

Post by heinrichegg »

I have almost the same problem as you. I wrote about it long time ago, but I never got a solution that worked.

For now I have all the .htm files in one directory <root>/norwegian. The .js scripts are in another <root>scripts/ver_5_0/

My code in each .htm file is like this:

<SCRIPT language=JavaScript src="../scripts/ver_5_0/milonic_src.js" type=text/javascript></SCRIPT>
<script language=JavaScript>
if(ns4)_d.write("<scr"+"ipt language=JavaScript src=../scripts/ver_5_0/mmenuns4.js><\/scr"+"ipt>");
else _d.write("<scr"+"ipt language=JavaScript src=../scripts/ver_5_0/mmenudom.js><\/scr"+"ipt>");
</script>

This works. Hovewer, I would like to move .htm files into subdirectories. I also use one temlate for all my pages and I would like to store the pages in different subdirectories and different levels.

I use Dreamweaver and all relative paths are automatically adjusted when I save a new file based on the template or if I move a file up or down into the directorystructure.

Hovewer, this part of the code is not updated since Dreamweaver does not recognise this as links:

if(ns4)_d.write("<scr"+"ipt language=JavaScript src=../scripts/ver_5_0/mmenuns4.js><\/scr"+"ipt>");
else _d.write("<scr"+"ipt language=JavaScript src=../scripts/ver_5_0/mmenudom.js><\/scr"+"ipt>");

Many on this forum writes that I can use this syntax:

if(ns4)_d.write("<scr"+"ipt language=JavaScript src=/scripts/ver_5_0/mmenuns4.js><\/scr"+"ipt>");
else _d.write("<scr"+"ipt language=JavaScript src=/scripts/ver_5_0/mmenudom.js><\/scr"+"ipt>");

Then the code will always start from the root.

I have never got this syntax to work? Not on my own computer - my local copy, or on the webserver (shared webhotel).

Does this has something to do which webserver the site is running on? Locally I am running the IIS that is included in Win XP Pro. What is on the webhotel I do not know.

Thanks!
H
User avatar
Maz
Milonic God
Milonic God
Posts: 1717
Joined: Fri Jun 06, 2003 11:39 pm
Location: San Francisco
Contact:

Post by Maz »

I make changs on the server, if you already have a site running you could make a test page and change the name menu-data.js on the template. That way you don't have any surprises when you finally upload it.

Sorry I can't help with the other questions.

maz
Post Reply