Is there any way to get the requested path (the path displayed in the browser address bar) vs the redirected path for a subdomain (hidden from the user) using javascript
I am using a shared javascript file (shared across multiple pages and sites) that determines the controller and action (MVC) using window.location.pathname but… I have just caught myself out as my deployment runs under sub-domains which I wasn’t representing in the Visual Studio dev environment. the sub-domains on my host redirect to a /subdomain folder as is usually the case but now my window.location.pathname pulls back /subdomain/controller/action whereas the URL in the address bar is /controller/action
Obviously I can tweak my javascript to handle this situation – however there may not always be a subdomain (at least in my dev environment if nothing else – and I am dead against solutions like having “isdev” style flags throughout my code) so I have to have a fail-over for those instances which means things start to get a little more complicated thus being more prone to error.
Any suggestions greatly appreciated.
Btw I do not want to use values from .Net e.g. HttpContext… as my js is in an external file and I do not want to create a dependency on data in a view for it to work as this means every time I consume the js on a new page I have to remember to include the additional logic in the view for it to work, plus if I change my js file it may result in me having to refactor a bunch of views as well.
Cheers
Rob
window.location.hrefshould return the entire URL that the site is currently at, including the subdomaine.g. http://subdomain.site.com/path/to/page.aspxAlternatively you can use
window.location.hostand it will return everything except for the path, orwindow.location.pathnameto return just the relative path to the file.See the MDC article on window.location for more information: https://developer.mozilla.org/en/DOM/window.location