2011-05-19 3 views
0

要求されたパス(ブラウザのアドレスバーに表示されるパス)を取得する方法と、javacriptを使用してサブドメイン(ユーザから非表示)のリダイレクトパスを取得する方法はありますか?javascript get「ブラウザのアドレスバー」に表示されるパス名

window.location.pathnameを使用してコントローラとアクション(MVC)を決定する共有JavaScriptファイル(複数のページとサイトで共有)を使用していますが...私の配備がサブドメイン私はVisual Studioの開発環境でそれを表現していませんでした。私のホスト上のサブドメインは/ subdomainフォルダにリダイレクトされますが、通常はそうですが、私のwindow.location.pathnameは/サブドメイン/コントローラ/アクションを引き戻します。アドレスバーのURLは/ controller/actionです。

明らかに私はこの状況に対処するために私のjavascriptを調整することができます - しかし、サブドメインがあるとは限りません(少なくとも私の開発環境では他に何もありません - 私は "isdev"これらのインスタンスのフェールオーバーを行うと、状況が少し複雑になり、エラーが発生しやすくなります。

Btw私はfrom .Netの値を使用したくありません。 HttpContext ...私のjsが外部ファイルにあるので、私は新しいページでjsを使うたびにこれが意味するように、ビューのデータに依存関係を作成したくありません。それが機能するためには、追加のロジックが必要です。さらに、jsファイルを変更すると、ビューのリファクタリングも必要になります。

乾杯 ロブ

+0

私はちょうどそれができるか、想像できない、ときhttp://sub.site.com/controller/action/にし、あなたのwindow.locationはhttp://site.com/subdomain/controller/action/です または私は何かが不足している? – gaRex

答えて

1

window.location.hrefは、サイトがサブドメインe.g. http://subdomain.site.com/path/to/page.aspx

また、あなたがwindow.location.hostを使用することができ、それはパス以外のすべてのものを返す、またはwindow.location.pathnameになり含めて、で、現在あることを全体のURLを返す必要がありますファイルへの相対パスだけを返します。

は、より多くの情報のためのwindow.locationの上MDCの記事を参照してください。https://developer.mozilla.org/en/DOM/window.location

関連する問題