JavaScript получить имя пути, представленное в «адресной строке браузера» - PullRequest
0 голосов
/ 19 мая 2011

Есть ли способ получить запрошенный путь (путь, отображаемый в адресной строке браузера) по сравнению с перенаправленным путем для субдомена (скрытого от пользователя), используя javascript

Я использую общий файл javascript(общий для нескольких страниц и сайтов), который определяет контроллер и действие (MVC) с помощью window.location.pathname, но ... Я только что обнаружил, что мое развертывание выполняется в поддоменах, которые я не представлял в VisualСтудия разработчик среды.субдомены на моем хосте перенаправляют в папку / subdomain, как это обычно бывает, но теперь мой window.location.pathname возвращает / subdomain / controller / action, тогда как URL-адрес в адресной строке - / controller / action

Очевидно, что я могу настроить свой javascript, чтобы справиться с этой ситуацией - однако не всегда может быть поддомен (по крайней мере, в моей среде разработки, если ничего другого - и я абсолютно не согласен с такими решениями, как использование флагов стиля "isdev" в моем коде), так чтоЯ должен иметь аварийное переключение для тех случаев, что означает, что все начинает становиться немного сложнее, поэтому становится более склонным к ошибкам.

Любые предложения очень ценятся.

Кстати, я не хочуиспользовать значения из .Net, например, HttpContext ... так как мой js находится во внешнем файле, и я не хочу создавать зависимость от данных в представлении для его работы, поскольку это означает, что каждый раз, когда я использую js на новой страницеЯ должен помнить, чтобы включить дополнительную логику в представление для его работы, плюс, если я изменю свой файл js этоможет привести и к тому, что мне придется провести рефакторинг множества представлений.

Приветствия Роб

1 Ответ

1 голос
/ 19 мая 2011

window.location.href должен возвращать весь URL-адрес, по которому сайт находится в данный момент, включая субдомен e.g. <a href="http://subdomain.site.com/path/to/page.aspx" rel="nofollow">http://subdomain.site.com/path/to/page.aspx</a>

В качестве альтернативы вы можете использовать window.location.host, и он вернет все, кроме пути, или window.location.pathname чтобы вернуть только относительный путь к файлу.

См. статью MDC для window.location для получения дополнительной информации: https://developer.mozilla.org/en/DOM/window.location

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...