Existe otro truco que utilizo y nunca vi en ninguna respuesta de StackOverflow: utilizando el atributo "src" de una imagen generará la ruta base completa de su sitio. Por ejemplo:
var dummy = new Image;
dummy.src = '$'; // using '' will fail on some browsers
var root = dummy.src.slice(0,-1); // remove trailing '$'
En una URL como http://domain.com/somesite/index.html
, root
se establecerá en http://domain.com/somesite/
. Esto también funciona para localhost o cualquier URL base válida.
Tenga en cuenta que esto provocará una solicitud HTTP fallida en la imagen ficticia $
. Puede utilizar una imagen existente en su lugar para evitar esto, con solo ligeros cambios de código.
Otra variante utiliza un enlace ficticio, sin efectos secundarios sobre las peticiones HTTP:
var dummy = document.createElement ('a');
dummy.href = '';
var root = dummy.href;
no he probado en todos los navegadores, sin embargo.
Tengo un sitio web y 2 aplicaciones en IIS. Por ejemplo: ** sub.domain.com/v1 ** y ** sub.domain.com/v2 ** y páginas como *** sub.domain.com/v1/Default.aspx*** o _sub.domain. com/v2/Products/Default.aspx_, etc. Cómo puedo obtener el valor ***/v2 ***, la raíz de mi aplicación *** sub.domain.com/v2***? – Kiquenet
@Kiquenet utiliza un IDE de JavaScript como WebStorm, puede ver las posibles opciones a medida que escribe el código. –
'window.location.origin' no está definido en IE9 (según el enlace, es IE11 +). [Esta respuesta] (http://stackoverflow.com/a/1368295/897326) ayudó. – Neolisk