如何从没有外部信息的相对网址获取绝对路径?

时间:2011-10-07 17:31:50

标签: javascript jquery hyperlink

我正在尝试动态确定我是否在某个页面上,并在链接到自身的任何链接上设置样式(对于导航菜单)。

正在抓住我的部分是如何确定该页面是当前页面。

我知道我可以获得window.location,并将其与任何链接的href进行比较,但是有分层文件夹,其中一些文件的命名方式相同,我不能依赖于设置基本服务器URL。

基本上我需要将鼠标悬停在链接上时获得的值,并将href属性的所有相关性应用于当前位置。不过,我不确定该怎么做。

3 个答案:

答案 0 :(得分:4)

这个最好的跨浏览器

//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;
}

答案 1 :(得分:4)

根据画得的答案,我测试了这个

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

它似乎适用于ie8及以上。 ie7没有解决任何问题。

* - 矛

答案 2 :(得分:2)

不是直接的解决方案,但这两篇文章可能会有所帮助:

http://www.phpied.com/relative-to-absolute-links-with-javascript/

Get the full URI from the href property of a link