Yerleşik window.location
nesnenin geçerli pencere için bunu sağlayacak bir özelliği vardır .
// If URL is http://www.somedomain.com/account/search?filter=a#top
window.location.pathname // /account/search
// For reference:
window.location.host // www.somedomain.com (includes port if there is one)
window.location.hostname // www.somedomain.com
window.location.hash // #top
window.location.href // http://www.somedomain.com/account/search?filter=a#top
window.location.port // (empty string)
window.location.protocol // http:
window.location.search // ?filter=a
Güncelle, herhangi bir URL için aynı özellikleri kullanın:
Bu şemanın URLUtils adlı bir arayüz olarak standartlaştırıldığı ortaya çıkıyor ve tahmin edin ne oldu? Hem mevcut window.location
nesne hem de bağlantı elemanları arayüzü uygular.
Dolayısıyla, herhangi bir URL için yukarıdaki aynı özellikleri kullanabilirsiniz - URL ile bir bağlantı oluşturup özelliklere erişmeniz yeterlidir:
var el = document.createElement('a');
el.href = "http://www.somedomain.com/account/search?filter=a#top";
el.host // www.somedomain.com (includes port if there is one[1])
el.hostname // www.somedomain.com
el.hash // #top
el.href // http://www.somedomain.com/account/search?filter=a#top
el.pathname // /account/search
el.port // (port if there is one[1])
el.protocol // http:
el.search // ?filter=a
[1]: Bağlantı noktası içeren özellikler için tarayıcı desteği tutarlı değil, Bkz: http://jessepollak.me/chrome-was-wrong-ie-was-right
Bu, Chrome ve Firefox'un en son sürümlerinde çalışır . Test etmek için Internet Explorer sürümlerim yok, bu yüzden lütfen kendinizi JSFiddle örneğiyle test edin.
Bağlantı URL
öğesi olmadan URL'lerin kendileri için bu desteği sunacak bir de nesne var. Şu anda hiçbir kararlı tarayıcı desteklemiyor gibi görünüyor, ancak Firefox 26'da geldiği söyleniyor. Bunu destekleyebileceğinizi düşündüğünüzde, buradan deneyin .