2009-08-05 14 views
31

私はすでに自分のサイトにかなりのjsを持っていますので、現在のURLのドメイン名をできるだけ効率的に取得する機能が必要です。javacriptを使用してドメイン/ホスト名を取得する最速の方法

例:

入力:https://stackoverflow.com/questions/ask

結果:stackoverflow.com

入力:http://test.stackoverflow.com/questions/ask

結果:test.stackoverflow.com

私はへの最善の方法を推測startはdocument.locationで行いますが、私はそこから何をするのか分かりません。

答えて

39

は試してみてくださいlink text

window.location.hostnamedocument.location.hostname

3

と「WWW」として必要とされていないものを奪う

それはあなたのために、具体的かどうか、あなたのドメイン名を使用しようとしているかに依存し
58

指定されたポート番号を気にしてください。あなたのURLのようなポート番号が含まれている場合:

http://stackoverflow.com:80/question/ask

document.location.hostname

しばらく、document.location.hostが良いが依存である "stackoverflow.com:80" を

戻ります "stackoverflow.com" が返されますあなたのユースケースで。

ドメイン名を調べて、スクリプトが別のフレーム/ウィンドウ内のスクリプト/ DOMにアクセスできるかどうかを知るためには、ポート番号が重要であることに注意してください。ブラウザは、フレーム/ウィンドウ間のクロスドメインスクリプトアクセスを許可しません。ドメイン名を比較するために、異なるポート番号は異なるドメインと見なすことができます。

14

document.location.origin発信元のホスト名(http/httpsを含む)が必要な場合

関連する問題