我試圖動態確定我是否在某個頁面上,並在鏈接到它自己的任何鏈接上設置樣式(對於導航菜單)。如何從沒有外部信息的相對網址獲取絕對路徑?
抓住我的部分是如何確定頁面是當前頁面。
我知道我可以得到window.location,並將它與任何鏈接的href進行比較,但是存在分層文件夾,其中一些文件夾的命名方式相同,我不能依賴設置基本服務器url 。
基本上我需要將鼠標懸停在鏈接上時獲得的值,並將href屬性的所有相對性應用於當前位置。不過,我並不確定該怎麼做。
我試圖動態確定我是否在某個頁面上,並在鏈接到它自己的任何鏈接上設置樣式(對於導航菜單)。如何從沒有外部信息的相對網址獲取絕對路徑?
抓住我的部分是如何確定頁面是當前頁面。
我知道我可以得到window.location,並將它與任何鏈接的href進行比較,但是存在分層文件夾,其中一些文件夾的命名方式相同,我不能依賴設置基本服務器url 。
基本上我需要將鼠標懸停在鏈接上時獲得的值,並將href屬性的所有相對性應用於當前位置。不過,我並不確定該怎麼做。
不是你一個直接的解決方案,但這些兩篇文章可能會有所幫助:
http://www.phpied.com/relative-to-absolute-links-with-javascript/
第二個似乎解釋我正在尋找什麼。 – Damon
第二個應該被接受爲答案,然後 – commonpike
這其中效果最好的跨瀏覽器
//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;
}
根據德魯的答案,我測試了這個
function resolveUrl(url){
var a = document.createElement('a');
a.href=url; // set string url
url = a.href; // get qualified url
return url;
}
它似乎適用於ie8和以上。 ie7不解決任何問題。
* -pike
對於較新版本的Chrome,比'img'標籤的效果更好。它不會向服務器發送'/ null'請求。 –
你能舉一些例子嗎?我仍然不確定你想要什麼。 – Andy