Damon
Damon

Reputation: 10808

How to get absolute path from a relative url with no outside info?

I'm trying to dynamically determine whether I'm on a certain page, and set a style on any link linking to itself (for a navigation menu).

The part that's catching me up is how to determine that the page is the current page.

I know I can get window.location, and compare it to the href of any links, but there tiered folders, some of which have files named the same way, and I can't rely on setting a base server url.

Basically I need the value that you get when you hover your mouse over a link, with all the relativity of the href attribute applied to the current location. I'm not really sure how to do that, though.

Upvotes: 2

Views: 3729

Answers (2)

commonpike
commonpike

Reputation: 11185

based on drew's answer, i tested this

function resolveUrl( url ){
  var a = document.createElement('a');
  a.href=url; // set string url
  url = a.href; // get qualified url
  return url;
}

and it seems to work for ie8 and up. ie7 doesnt resolve anything.

*-pike

Upvotes: 4

Drew
Drew

Reputation: 4701

This one works best cross browser

//Resolve absolute url's from relative ones
function qualifyURL( url ){
  var img = document.createElement('img');
  img.src = url; // set string url
  url = img.src; // get qualified url
  img.src = null; // no server request
  return url;
}

Upvotes: 4

Related Questions