How can I retrieve the full URL to which an anchor links using jQuery / JavaScript consistently across all browsers? For example, I want to return http://www.mysite.com/mypage.aspx
from <a href="../mypage.aspx"></a>
.
I have tried the following:
$(this).attr('href')
: The problem is that jQuery returns the exact value of the href (i.e., ../mypage.aspx
).
this.getAttribute('href')
: This works in Internet Explorer, but in FireFox it behaves the same as above.
What is the alternative? I cannot simply append the current site's path to the href value because that would not work in the above case in which the value of the href escapes the current directory.
Answer: Use the window. location. href Property location. href property to get the entire URL of the current page which includes host name, query string, fragment identifier, etc. The following example will display the current url of the page on click of the button.
Answer: Use the syntax $(location). attr("href"); You can use the Location object and jQuery attr() method to get the URL of the current page.
In JavaScript, just use window. location. href, and in JQuery use code $(location). attr('href'), both will return the current URL.
The window.location.href property returns the URL of the current page.
You can create an img element and then set the src attribute to the retrieved href value. Then when you retrieve the src attribute it will be fully qualified. Here is an example function that I have used from http://james.padolsey.com/javascript/getting-a-fully-qualified-url/:
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;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With