Para un proyecto y por necesidades de «producción» necesitábamos saber cuál era el dominio base desde Javascript y a poder ser, sin utilizar php.
La solución: capturar la url actual, separar el protocolo por un lado y el dominio junto con sus subdominios por otro lado (si los hubiere), y separar estos últimos, siendo el primier elemento resultante el nombre del dominio.
El resultado es algo así.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <script type="text/javascript"> function dominio_base() { // capturamos la url url_site = document.location.href // La separamos por la doble barra url_pos = url_site.indexOf('//'); // por un lado tenemos la url sin protocolos url_limpia = url_site.substr(url_pos+2); // y por otro lado el protocolo usado url_prot = url_site.substr(0,url_pos+2); // separamos todas las posibles carpetas url_split = url_limpia.split('/'); // y obtenemos el dominio actual url_base = url_prot + url_split[0]; return url_base; } </script> |
Al llamar a la función, simplemente nos devuelve el dominio.
1 2 3 4 5 6 7 | <script type="text/javascript"> // mostrarlo en un alert alert(dominio_base()); // escribirlo en un documento document.writeIn('mi dominio es ' + dominio_base()); </script> |
20 de octubre de 2009 a las 17:37
Si mi url es h t t p : / / localhost/test.php
document.write(location.pathname); //devuelve la ruta relativa, en este caso /test.php
document.write(location.host); //devuelve el host, en este caso, localhost
Abrazos!