Todo lo que quiero es obtener la URL del sitio web. No es la URL tomada de un enlace. En la carga de la página, necesito poder tomar la URL completa y actual del sitio web y configurarla como una variable para hacer lo que quiera.
Todo lo que quiero es obtener la URL del sitio web. No es la URL tomada de un enlace. En la carga de la página, necesito poder tomar la URL completa y actual del sitio web y configurarla como una variable para hacer lo que quiera.
Respuestas:
Utilizar:
window.location.href
Como se señaló en los comentarios, la línea siguiente funciona, pero tiene errores para Firefox.
document.URL;
document.URL
propiedad no se actualiza después window.location
de un ancla (#), mientras que window.location.href
sí. He reunido una demostración en vivo aquí: jsfiddle.net/PxgKy No probé ninguna otra versión de Firefox. No document.URL
se encontraron problemas al usar Chrome 20 e IE9.
window.location.host
ywindow.location.href.toString().split(window.location.host)[1]
document.baseURI
trata entonces. Básicamente hay 3 formas de obtener url document.baseURI
, document.URL
, y location
.
name="URL"
esta propiedad, se sombreará en el document
objeto y su código se romperá. En ese caso, document.URL
se referirá al nodo DOM en su lugar. Es mejor usar las propiedades del objeto global como en window.location.href
.
Acceso a la información de URL
JavaScript le proporciona muchos métodos para recuperar y cambiar la URL actual, que se muestra en la barra de direcciones del navegador. Todos estos métodos usan el Location
objeto, que es una propiedad del Window
objeto. Puede crear un nuevo Location
objeto que tenga la URL actual de la siguiente manera:
var currentLocation = window.location;
Estructura básica de URL
<protocol>//<hostname>:<port>/<pathname><search><hash>
protocolo: especifica el nombre del protocolo que se utilizará para acceder al recurso en Internet. (HTTP (sin SSL) o HTTPS (con SSL))
nombre de host: el nombre de host especifica el host que posee el recurso. Por ejemplo,www.stackoverflow.com
. Un servidor proporciona servicios utilizando el nombre del host.
Puerto: un número de puerto utilizado para reconocer un proceso específico al que se debe reenviar un mensaje de Internet u otra red cuando llega a un servidor.
nombre de ruta: la ruta proporciona información sobre el recurso específico dentro del host al que desea acceder el cliente web. Por ejemplo,/index.html
.
búsqueda: una cadena de consulta sigue el componente de ruta y proporciona una cadena de información que el recurso puede utilizar para algún propósito (por ejemplo, como parámetros para una búsqueda o como datos para procesar).
hash: la parte de anclaje de una URL, incluye el signo hash (#).
Con estas Location
propiedades de objeto puede acceder a todos estos componentes de URL y a lo que pueden establecer o devolver:
Espero que hayas recibido tu respuesta.
window.location
, pero las propiedades, y aquí tenemos un ejemplo : var stringPathName = window.location.pathname
.
substring
. Sin embargo, puede ser útil cuando desee utilizar para redirigir document.location = "/page.html";
redirigirá a la página raízpage.html
search
, pero en la lista de descripciones a continuación, se llama a query
. Tal vez se puedan reconciliar o se pueden agregar más explicaciones.
Se usa window.location
para acceso de lectura y escritura al objeto de ubicación asociado con el marco actual. Si solo desea obtener la dirección como una cadena de solo lectura, puede usarla document.URL
, que debe contener el mismo valor que window.location.href
.
Obtiene la URL de la página actual:
window.location.href
document
es la raíz del árbol de documentos definido por la especificación. window
generalmente es equivalente, pero podría no serlo en algunas circunstancias extrañas.
OK, obtener la URL completa de la página actual es fácil usando JavaScript puro. Por ejemplo, intente este código en esta página:
window.location.href;
// use it in the console of this page will return
// http://stackoverflow.com/questions/1034621/get-current-url-in-web-browser"
La
window.location.href
propiedad devuelve la URL de la página actual.
document.getElementById("root").innerHTML = "The full URL of this page is:<br>" + window.location.href;
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript</h2>
<h3>The window.location.href</h3>
<p id="root"></p>
</body>
</html>
Simplemente no está mal mencionar esto también:
si necesita una ruta relativa, simplemente use window.location.pathname
;
si desea obtener el nombre de host, puede usar window.location.hostname
;
y si necesita obtener el protocolo por separado, use window.location.protocol
hash
etiqueta, puede conseguirlo como: window.location.hash
.Entonces window.location.href
maneja todo de una vez ... básicamente:
window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.hash === window.location.href;
//true
También usando window
es necesario si ya está en el alcance de la ventana ...
Entonces, en ese caso, puedes usar:
location.protocol
location.hostname
location.pathname
location.hash
location.href
Para obtener el camino, puede usar:
console.log('document.location', document.location.href);
console.log('location.pathname', window.location.pathname); // Returns path only
console.log('location.href', window.location.href); // Returns full URL
Puede obtener la ubicación URL actual con una etiqueta hash utilizando:
JavaScript:
// Using href
var URL = window.location.href;
// Using path
var URL = window.location.pathname;
jQuery :
$(location).attr('href');
var currentPageUrlIs = "";
if (typeof this.href != "undefined") {
currentPageUrlIs = this.href.toString().toLowerCase();
}else{
currentPageUrlIs = document.location.toString().toLowerCase();
}
El código anterior también puede ayudar a alguien
http://www.server.com/path/to/Script.php?option=A1B2C3
, si el sistema de archivos distingue entre mayúsculas y minúsculas (Linux / Unix) no necesariamente Script.php y script.php son iguales. E incluso si no distingue entre mayúsculas y minúsculas (Windows, algunos Mac Os), ?option=A1B2C3
no es lo mismo ?option=a1b2c3
, ni siquiera ?Option=A1B2C3
. Solo el servidor no distingue entre mayúsculas y minúsculas: www.server.com o www.SeRvEr.cOm son iguales.
Agregar resultado para referencia rápida
ventana.ubicación;
Location {href: "/programming/1034621/get-the-current-url-with-javascript",
ancestorOrigins: DOMStringList,
origin: "https://stackoverflow.com",
replace: ƒ, assign: ƒ, …}
document.location
Location {href: "/programming/1034621/get-the-current-url-with-javascript",
ancestorOrigins: DOMStringList,
origin: "https://stackoverflow.com",
replace: ƒ, assign: ƒ
, …}
window.location.pathname
"/questions/1034621/get-the-current-url-with-javascript"
window.location.href
"/programming/1034621/get-the-current-url-with-javascript"
location.hostname
"stackoverflow.com"
Para URL completa con cadenas de consulta:
document.location.toString().toLowerCase();
Para la URL del host:
window.location
En jstl podemos acceder a la ruta URL actual usando pageContext.request.contextPath
. Si desea hacer una llamada Ajax, use la siguiente URL.
url = "${pageContext.request.contextPath}" + "/controller/path"
Ejemplo: para la página http://stackoverflow.com/posts/36577223
esto dará http://stackoverflow.com/controller/path
.
La forma de obtener el objeto de ubicación actual es window.location
.
Compare esto con document.location
, que originalmente solo devolvió la URL actual como una cadena. Probablemente para evitar confusiones, document.location
fue reemplazado por document.URL
.
Y, todos los navegadores modernos se asignan document.location
a window.location
.
En realidad, para la seguridad entre navegadores, debe usar en window.location
lugar de document.location
.
Para aquellos que desean un objeto URL real, potencialmente para una utilidad que toma URL como argumento:
const url = new URL(window.location.href)
La respuesta de Nikhil Agrawal es excelente, solo agrega un pequeño ejemplo aquí que puedes hacer en la consola para ver los diferentes componentes en acción:
Si desea que la URL base sin ruta o parámetro de consulta (por ejemplo, para realizar solicitudes AJAX en contra de trabajar tanto en servidores de desarrollo / preparación Y producción), window.location.origin
es mejor ya que mantiene el protocolo y el puerto opcional (en el desarrollo de Django, a veces tiene un puerto no estándar que lo rompe si solo usa el nombre de host, etc.)
Puede obtener el enlace completo de la página actual location.href
y, para obtener el enlace del controlador actual, use:
location.href.substring(0, location.href.lastIndexOf('/'));
Obtener la URL actual con JavaScript:
window.location.toString ();
window.location.href
Si se refiere a un enlace específico que tiene una identificación, este código puede ayudarlo.
$(".disapprove").click(function(){
var id = $(this).attr("id");
$.ajax({
url: "<?php echo base_url('index.php/sample/page/"+id+"')?>",
type: "post",
success:function()
{
alert("The Request has been Disapproved");
window.location.replace("http://localhost/sample/page/"+id+"");
}
});
});
Estoy usando ajax aquí para enviar una identificación y redirigir la página usando window.location.replace . simplemente agregue un atributo id=""
como se indica.
Primero verifique que la página se cargue completamente en
browser,window.location.toString();
window.location.href
luego llame a una función que tome url, variable de URL e imprima en la consola,
$(window).load(function(){
var url = window.location.href.toString();
var URL = document.URL;
var wayThreeUsingJQuery = $(location).attr('href');
console.log(url);
console.log(URL);
console.log(wayThreeUsingJQuery );
});