Yanıtlar:
var host = window.location.hostname;
veya muhtemelen
var host = "http://"+window.location.hostname;
veya bitiştirmeyi seviyorsanız
var protocol = location.protocol;
var slashes = protocol.concat("//");
var host = slashes.concat(window.location.hostname);
http. Göreli protokolü kullanın. Sert kodlayandan daha uygun olabilir.
concat. Örneğin var a = 1 + 2 + " should be 12";bunun concat versiyonuna karşı var a = "".concat(1).concat(2).concat(" should be 12");. Concat kullanmak +, birleştirme için değil, hesaplama için çok fazla sorun kurtaracaktır .
hostnameyalnızca alan adı verir ve hostbağlantı noktası da sağlar. Bu bağlantı anatomisini görmek için harika bir mini araç bl.ocks.org/abernier/3070589
Ana bilgisayar adını almak için: location.hostname
Ancak örneğiniz de şemayı arıyor, bu nedenle location.originChrome'da istediğinizi yapıyor gibi görünüyor, ancak Mozdev dokümanlarında bahsedilmiyor. İle inşa edebilirsiniz
location.protocol + '//' + location.hostname
Bağlantı noktası numarasını da istiyorsanız (80 olmadığında):
location.protocol + '//' + location.host
Bunu kullanarak protokolü, ana bilgisayarı ve bağlantı noktasını alabilirsiniz:
window.location.origin
| Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|----------------------------------|-------|-----------------|-------------------|-------|--------------------------------------------|
| (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
| 30.0.1599.101 (possibly earlier) | ? | 21.0 (21.0) | 11 | ? | 7 (possibly earlier, see webkit bug 46558) |
| Android | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
|----------------------------------|-------|------------------------|----------|--------------|--------------------------------------------|
| (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
| 30.0.1599.101 (possibly earlier) | ? | 21.0 (21.0) | ? | ? | 7 (possibly earlier, see webkit bug 46558) |
Tüm tarayıcı uyumluluğu Mozilla Developer Network'ten
let path = window.location.protocol + '//' + window.location.hostname + ':' + window.location.port;
İhtiyaçlarınıza bağlı olarak, window.locationözelliklerden birini kullanabilirsiniz . Sorunuzda (örn. ) Kullanılarak alınabilecek ana bilgisayar hakkında soruyorsunuz . Örneğinizde , (ör. ) Kullanılarak alınabilecek, başlangıç adı verilen bir şey gösteriyorsunuz .window.location.hostnamewww.example.comwindow.location.originhttp://www.example.com
var path = window.location.origin + "/";
//result = "http://localhost:60470/"
Amaca bağlı olarak bunu beğendim
window.location.href.split("/")[2] == "localhost:17000" //always domain + port
Herhangi bir url dizesine uygulayabilirsiniz
var url = "http://localhost:17000/sub1/sub2/mypage.html?q=12";
url.split("/")[2] == "localhost:17000"
url.split("/")[url.split("/").length-1] == "mypage.html?q=12"
URL dizesinden protokolü, etki alanını ve yolu kaldırma (göreceli yol)
var arr = url.split("/");
if (arr.length>3)
"/" + arr.splice(3, arr.length).join("/") == "/sub1/sub2/mypage.html?q=12"