Câu trả lời:
var host = window.location.hostname;
hoặc có thể
var host = "http://"+window.location.hostname;
hoặc nếu bạn thích ghép
var protocol = location.protocol;
var slashes = protocol.concat("//");
var host = slashes.concat(window.location.hostname);
httpmặc dù. Sử dụng giao thức tương đối. Có thể thích hợp hơn mã hóa cứng.
concat. Trong ví dụ var a = 1 + 2 + " should be 12";vs phiên bản concat của cái này var a = "".concat(1).concat(2).concat(" should be 12");. Sử dụng concat sẽ giúp bạn tiết kiệm rất nhiều rắc rối +là để tính toán chứ không phải ghép.
hostnamesẽ chỉ cung cấp tên miền và hostcũng sẽ cung cấp cổng. Đây là công cụ nhỏ tuyệt vời để xem liên kết giải phẫu bl.ocks.org/abernier/3070589
Để có được tên máy chủ: location.hostname
Nhưng ví dụ của bạn cũng đang tìm kiếm lược đồ, vì vậy location.origindường như thực hiện những gì bạn muốn trong Chrome, nhưng không được đề cập trong các tài liệu Mozdev. Bạn có thể xây dựng nó với
location.protocol + '//' + location.hostname
Nếu bạn cũng muốn số cổng (vì khi đó không phải là 80) thì:
location.protocol + '//' + location.host
Bạn có thể lấy giao thức, máy chủ và cổng bằng cách sử dụng:
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ất cả khả năng tương thích trình duyệt là từ Mozilla Developer Network
let path = window.location.protocol + '//' + window.location.hostname + ':' + window.location.port;
Tùy thuộc vào nhu cầu của bạn, bạn có thể sử dụng một trong các window.locationthuộc tính. Trong câu hỏi của bạn, bạn đang hỏi về máy chủ lưu trữ , có thể được truy xuất bằng cách sử dụng window.location.hostname(ví dụ www.example.com). Trong ví dụ của bạn, bạn đang hiển thị một cái gì đó được gọi là nguồn gốc , có thể được lấy ra bằng cách sử dụng window.location.origin(ví dụ http://www.example.com).
var path = window.location.origin + "/";
//result = "http://localhost:60470/"
Tôi thích cái này tùy theo mục đích
window.location.href.split("/")[2] == "localhost:17000" //always domain + port
Bạn có thể áp dụng nó trên bất kỳ chuỗi url nào
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"
Xóa giao thức, tên miền & đường dẫn khỏi chuỗi url (đường dẫn tương đối)
var arr = url.split("/");
if (arr.length>3)
"/" + arr.splice(3, arr.length).join("/") == "/sub1/sub2/mypage.html?q=12"