I use the great CodeIgniter, PHP Framework a lot, Most site’s now days I create use it. One of the many good things is that way it handles pages request’s and PHP $_SERVER['REQUEST_URI'] to find which page we are on.
Here is how it works;
http://www.sheldon.lendrum.co.nz/posts/my-segment/my-page/15/2009/12
Now the way we do things, is break the site up, based on the ‘segments or the URI.
EG:
I am in the ‘posts ( segment 1 )’ part of the site. from ther directs to to the particular post I am on.
Here is some VERY simple javascript to find out any segment I am in.
var currentLocation = window.location.toString(); // find out what page we are on var hostName = 'http://'+ window.location.hostname; // find our current domain name var uriString = currentLocation.replace(hostName, ''); // get our segments minus our domain name var uriSegment = uriString.split('/'); create our segment array
A simple example of usage would be, if you were using a GREAT MOOTOOLS accordion for your navigation, and having one open, based on the address of your page
// set out Accordion toggler elements var togglers = $$('h3.toggler'); // set out menu var var showMenu; // loop our toggler elements, and see if our URI segment matches their name ( in my example. ) togglers.each(function(item, index){ if(item.get('html').toLowerCase() == uriSegment[1]) showMenu = index; }); // if our URI segment matched nothing, set a default ( closed in my example ) if(showMenu == undefined) showMenu = -1; // create our Accordion new Accordion(togglers , $$('ul.element'), { duration: 250, display: showMenu, initialDisplayFx: false, onActive: function(toggler, element) { toggler.set('class', 'active'); }, onBackground: function(toggler, element) { toggler.set('class', ''); } });