window.location
はアクセサー プロパティであり、その値を取得すると、文字列ではなくオブジェクトが返されるため、関数はありませんindexOf
。(値を設定すると、アクセサー プロパティのセッターが文字列を受け入れるため、つまり、実際には機能するため、文字列だと思われることがあるのは完全に理解できますwindow.location = "some url";
。しかし、値を取得しても、文字列は取得されません。)
window.location.toString()
、String(window.location)
、またはを使用window.location.href
して、必要に応じて文字列を取得したり、さまざまなプロパティを使用して詳細を確認したりできます。url の例を指定すると、リンクからhttp://www.example.com:80/search?q=devmo#test
:
hash
: URL の # 記号に続く部分 (# 記号を含む)。hashchange イベントをリッスンして、サポートしているブラウザーでのハッシュへの変更の通知を受け取ることができます。
例:#test
host
: ホスト名とポート番号。
例:www.example.com:80
hostname
: ホスト名 (ポート番号なし)。
例:www.example.com
href
: URL 全体。
例:http://www.example.com:80/search?q=devmo#test
pathname
: パス (ホストからの相対パス)。
例:/search
port
: URL のポート番号。
例:80
protocol
: URL のプロトコル。
例:http:
search
: URL の ? に続く部分。? を含む記号 シンボル。
例:?q=devmo
たとえば、引用した例では、 をチェックできwindow.location.hostname === "localhost"
ます。