回答:
var host = window.location.hostname;
または多分
var host = "http://"+window.location.hostname;
または、連結が好きな場合
var protocol = location.protocol;
var slashes = protocol.concat("//");
var host = slashes.concat(window.location.hostname);
http。相対プロトコルを使用します。ハードコーディングするよりも適切かもしれません。
concat。例var a = 1 + 2 + " should be 12";では、このバージョンの連結バージョンですvar a = "".concat(1).concat(2).concat(" should be 12");。concatを使用+すると、連結ではなく計算のための多くの問題を回避できます。
ホスト名を取得するには: location.hostname
しかし、あなたの例はスキームも探しているのでlocation.origin、Chromeであなたがやりたいことをしているように見えますが、Mozdevのドキュメントでは言及されていません。あなたはそれを構築することができます
location.protocol + '//' + location.hostname
ポート番号も必要な場合(80でない場合):
location.protocol + '//' + location.host
これを使用して、プロトコル、ホスト、ポートを取得できます。
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) |
すべてのブラウザ互換性はMozilla Developer Networkからのものです
let path = window.location.protocol + '//' + window.location.hostname + ':' + window.location.port;
必要に応じて、いずれかのwindow.locationプロパティを使用できます。あなたの質問では、ホストwindow.location.hostname(www.example.com)を使用して取得できるホストについて質問しています。あなたの例では、いわゆる何か見せているの原点使用して取得することができる、window.location.origin(例えばhttp://www.example.com)。
var path = window.location.origin + "/";
//result = "http://localhost:60470/"
目的によってはこれが好き
window.location.href.split("/")[2] == "localhost:17000" //always domain + port
任意のURL文字列に適用できます
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文字列から削除(相対パス)
var arr = url.split("/");
if (arr.length>3)
"/" + arr.splice(3, arr.length).join("/") == "/sub1/sub2/mypage.html?q=12"