Jawaban:
var host = window.location.hostname;
atau mungkin
var host = "http://"+window.location.hostname;
atau jika Anda suka penggabungan
var protocol = location.protocol;
var slashes = protocol.concat("//");
var host = slashes.concat(window.location.hostname);
http. Gunakan protokol relatif. Mungkin lebih tepat daripada hard-coding.
concat. Sebagai contoh var a = 1 + 2 + " should be 12";vs versi concat ini var a = "".concat(1).concat(2).concat(" should be 12");. Menggunakan concat akan menghemat banyak masalah +untuk perhitungan, bukan penggabungan.
hostnamehanya akan memberikan domain dan hostakan menyediakan port juga. Ini adalah alat mini yang hebat untuk melihat tautan anatomi bl.ocks.org/abernier/3070589
Untuk mendapatkan nama host: location.hostname
Tetapi contoh Anda sedang mencari skema juga, jadi location.origintampaknya melakukan apa yang Anda inginkan di Chrome, tetapi tidak disebutkan dalam dokumen Mozdev. Anda dapat membangunnya dengan
location.protocol + '//' + location.hostname
Jika Anda menginginkan nomor port juga (untuk saat tidak 80) maka:
location.protocol + '//' + location.host
Anda bisa mendapatkan protokol, host, dan port menggunakan ini:
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) |
Semua kompatibilitas browser berasal dari Jaringan Pengembang Mozilla
let path = window.location.protocol + '//' + window.location.hostname + ':' + window.location.port;
Ini seharusnya bekerja:
window.location.hostname
hostjika Anda juga memerlukan port
Tergantung pada kebutuhan Anda, Anda dapat menggunakan salah satu window.locationproperti. Dalam pertanyaan Anda, Anda bertanya tentang tuan rumah , yang dapat diambil menggunakan window.location.hostname(misalnya www.example.com). Dalam contoh Anda, Anda menunjukkan sesuatu yang disebut asal , yang dapat diambil dengan menggunakan window.location.origin(misalnya http://www.example.com).
var path = window.location.origin + "/";
//result = "http://localhost:60470/"
Saya suka yang ini tergantung tujuannya
window.location.href.split("/")[2] == "localhost:17000" //always domain + port
Anda dapat menerapkannya pada url-string apa pun
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"
Menghapus protokol, domain & jalur dari url-string (jalur relatif)
var arr = url.split("/");
if (arr.length>3)
"/" + arr.splice(3, arr.length).join("/") == "/sub1/sub2/mypage.html?q=12"