Solved

javascript document root relative

Posted on 2003-10-31
10
1,515 Views
Last Modified: 2012-06-27
I have a javascript menu that I would like to use only once across the whole site.  My site looks like this:

main
|--folder1
|--folder2
    |--foldera
|--folder3
|--etc.

So the links in my script are like:
folder1/file.html
folder2/file1.html
folder2/foldera/file3.html
folder3/file4.html

I would like to have the javascript file reside on the highest level but when I do the links wont work on the lower levels.  This is all about the document's relative path.  Is there anyway to solve this so that the menu link (from the script file) in folder2/foldera/file3.html would point back to ../../folder1/file.html?

make sense?
0
Comment
Question by:srobia
  • 5
  • 3
  • 2
10 Comments
 
LVL 10

Expert Comment

by:NetGroove
Comment Utility
Put your script relative to server root.
0
 
LVL 28

Expert Comment

by:sybe
Comment Utility
code your links from the root:

/folder1/file.html
/folder2/file1.html
/folder2/foldera/file3.html
/folder3/file4.html


0
 
LVL 10

Expert Comment

by:NetGroove
Comment Utility
Also look whether <base> tag is of help to you:
http://www.w3schools.com/tags/tag_base.asp


0
 
LVL 28

Expert Comment

by:sybe
Comment Utility
there's a problem with IE (well it's a matter of taste probably) that IE interpretes links to a certain frame relative to the current location of the document in the frame. Even if the links are clicked from another frame. Netscape/Mozilla takes link relative to the location of the document where the click is being done. It's been this way forever, and i don't know why they never get on speaking terms about this.

solutions:
- make sure that every link is defined from the root (start with "/")
- use the <base> tag (as NetGroove says)

maybe some other depending on the situation
0
 

Author Comment

by:srobia
Comment Utility
Sorry none of those really help out.  My javascript file generates the menu.  I can link to the javascript files just fine.  BUT it is the menu that is generated by the javascript that needs to change with the document location.  Is there anyway to do this within javascript?  Basically, find the current document's location then traverse back to the server root and generate a dynamic menu that will automatically make all the links valid.
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 10

Accepted Solution

by:
NetGroove earned 125 total points
Comment Utility
Your script can read the actual window location and document location.
According to actual location your menu can adapt, for example by comparing to a common base for script and for the page using the script.

0
 
LVL 10

Expert Comment

by:NetGroove
Comment Utility
Sorry, I just noticed that I repeated your last sentence.
Now when you know that actual window URL is readable by your script, then what is your question???

0
 

Author Comment

by:srobia
Comment Utility
How do you make the script use the current location to dynamically build the menu?  based upon document.location I was thinking you could parse the string and find the "/" and build a dynamic ../  make sense?
0
 
LVL 10

Expert Comment

by:NetGroove
Comment Utility
Of course make sense. But what is your question?
You can make it any way around.
Decide what you want and I can show you how to do.

If your site is partially online or if your sources are les then let say three hundred lines, then post it here.
0
 

Author Comment

by:srobia
Comment Utility
I think I figured it out.  I found enough documentation out there to make it a dynamic menu.  thanks
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

Introduction HTML checkboxes provide the perfect way for a web developer to receive client input when the client's options might be none, one or many.  But the PHP code for processing the checkboxes can be confusing at first.  What if a checkbox is…
This article discusses the difference between strict equality operator and equality operator in JavaScript. The Need: Because JavaScript performs an implicit type conversion when performing comparisons, we have to take this into account when wri…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now