En joomla php allí puedo usar $this->baseurl
para obtener la ruta base, pero quería obtener la ruta base en jquery.
La ruta base puede ser cualquiera de los siguientes ejemplos:
http://www.example.com/
http://localhost/example
http://www.example.com/sub/example
El example
también puede cambiar.
javascript
jquery
Navin Rauniyar
fuente
fuente
Respuestas:
Este te ayudará ...
fuente
http://localhost/myapp/what/ever/sub/folder
-> getBaseUrl ->http://localhost/myapp
:-)192.168.0.23/~sites/site/html/
en lugar desite.dev
. Obtener el nombre de ruta completo con Javascript tampoco es una opción, porque un sitio puede tener cualquier cantidad de subdirectorios virtuales.Creo que te irá bien
fuente
window.location.origin
Esto obtendrá la URL base
fuente
Esta es una pregunta extremadamente antigua, pero aquí están los enfoques que uso personalmente ...
Obtener URL estándar / base
Como muchos ya han dicho, esto funciona para la mayoría de las situaciones.
Obtener URL base absoluta
Sin embargo, este enfoque simple se puede utilizar para quitar cualquier número de puerto.
Editar: para abordar la inquietud, planteada por Jason Rice , lo siguiente se puede utilizar para insertar automáticamente el tipo de protocolo correcto ...
Establecer URL base
Como beneficio adicional, la URL base se puede redefinir globalmente.
fuente
Esto no es posible desde javascript, porque esta es una propiedad del lado del servidor. Javascript en el cliente no puede saber dónde está instalado joomla. La mejor opción es incluir de alguna manera el valor de
$this->baseurl
javascript en la página y luego usar este valor (phpBaseUrl
).Luego puede construir la url de esta manera:
fuente
loc.host
tiene el puerto, para una URL como lahttp://localhost:8082/
que producirá este métodohttp://localhost:8082:8082/
,window.location.hostname
debe usarse en su lugar.document.baseURI
devuelve la URL base también respetando el valor en la<base/>
etiqueta https://developer.mozilla.org/en-US/docs/Web/API/Node/baseURIfuente
Tuve el mismo problema hace un tiempo, mi problema era que simplemente necesitaba la URL base. Aquí hay muchas opciones detalladas, pero para evitar esto, simplemente use el
window.location
objeto. En realidad, escriba esto en la consola del navegador y presione enter para seleccionar sus opciones allí. Bueno para mi caso fue simplemente:fuente
Pero no puede decir que el baseurl () de CodeIgniter (o php joomla) devolverá el mismo valor, ya que es posible cambiar el baseurl en el archivo .htaccess de estos marcos.
Por ejemplo :
Si tiene un archivo .htaccess como este en su host local:
$ This-> baseurl () devolverá http: // localhost / CodeIgniter /
fuente
Me he encontrado con esta necesidad en varios proyectos de Joomla. La forma más simple que he encontrado para abordar es agregar un campo de entrada oculto a mi plantilla:
Cuando necesito el valor en JavaScript:
No es tan elegante como usar JavaScript puro, pero es simple y hace el trabajo.
fuente
La forma más fácil de obtener la URL base en jQuery
fuente
Recomendaría a todos crear una etiqueta base HTML en desarrollo, luego asignar el href dinámicamente, por lo que en la producción, sea cual sea el host que use un cliente, se adaptará automáticamente a él:
Entonces, si está en localhot: 8080, alcanzará cada archivo vinculado o referenciado desde la base, por ejemplo:
http://localhost:8080/some/path/file.html
si está en www.example.com, seráhttp://www.example.com/some/path/file.html
También tenga en cuenta que, en cada ubicación en la que se encuentre, no debe usar referencias como globos en hrefs, por ejemplo: la ubicación principal
http://localhost:8080/
nohttp://localhost:8080/some/path/
.Pretenda que haga referencia a todos los hipervínculos como sentencia completa sin la URL básica.
fuente
El formato es hostname / pathname / search
Entonces la url es:
Para su caso
Básicamente, la baseurl = hostname = window.location.hostname
fuente
Me sorprende que ninguna de las respuestas considere la URL base si se estableció en la
<base>
etiqueta. Todas las respuestas actuales intentan obtener el nombre de host o el nombre del servidor o la primera parte de la dirección. Esta es la lógica completa que también considera la<base>
etiqueta (que puede referirse a otro dominio o protocolo):Formato jquery:
Sin involucrarse con la lógica anterior, la solución abreviada que considera tanto la
<base>
etiqueta comowindow.location.origin
:Js:
Jquery:
Nota final: para un archivo local en su computadora (no en un host),
window.location.origin
solo devuelve elfile://
pero la solución de clasificación anterior devuelve la ruta correcta completa.fuente
<base>
elemento.casi igual que la respuesta de Jenish pero un poco más corta.
fuente
Estaba en el mismo escenario y esta solución me funciona.
En la vista
En el archivo js accedes
base
como una variable, por ejemplo, en tu escenario:No recuerdo de dónde saco esta información para dar crédito, si la encuentro editaré la respuesta
fuente
fuente
Aquí hay algo rápido que también funciona con
file://
URL.Se me ocurrió esta frase:
fuente
Mencionó que
example.com
puede cambiar, por lo que sospecho que realmente necesita la URL base solo para poder usar la notación de ruta relativa para sus scripts. En este caso en particular, no es necesario usar secuencias de comandos; en su lugar, agregue la etiqueta base a su encabezado:Generalmente genero el enlace a través de PHP.
fuente
En caso de que a alguien le gustaría ver esto dividido en una función muy robusta
fuente
Fácil
Genera un img con el nombre src vacío obliga al navegador a calcular la url base por sí mismo, sin importar si tiene
/index.html
o cualquier otra cosa.fuente
Dividir y unir la URL:
fuente
Ponga esto en su encabezado, para que esté disponible cuando lo necesite.
Obtendrás
http://localhost:81/your-path-file
ohttp://localhost/your-path-file
.fuente