web-dev-qa-db-pt.com

Obtém o URL atual com JavaScript?

Tudo que eu quero é obter o URL do site. Não é o URL retirado de um link. No carregamento da página eu preciso ser capaz de pegar o URL completo e atual do site e defini-lo como uma variável para fazer o que eu quiser.

2730
dougoftheabaci

Usar:

window.location.href 

Como observado nos comentários, a linha abaixo funciona, mas está com problemas para o Firefox.

document.URL;

VejaURL do tipo DOMString, readonly.

3386
VolkerK

Acesso a informações de URL

O JavaScript oferece vários métodos para recuperar e alterar o URL atual, exibido na barra de endereços do navegador. Todos esses métodos usam o objeto Location, que é uma propriedade do objeto Window. Você pode criar um novo objeto Location que tenha o URL atual da seguinte forma:

var currentLocation = window.location;

Estrutura de URL básica

<protocol>//<hostname>:<port>/<pathname><search><hash>
  • protocol: Especifica o nome do protocolo a ser usado para acessar o recurso na Internet. (HTTP (sem SSL) ou HTTPS (com SSL))

  • hostname: Host name especifica o host que possui o recurso. Por exemplo, www.stackoverflow.com. Um servidor fornece serviços usando o nome do host.

  • port: Um número de porta usado para reconhecer um processo específico para o qual uma mensagem da Internet ou de outra rede deve ser encaminhada quando chega a um servidor.

  • pathname: O caminho fornece informações sobre o recurso específico dentro do Host que o Web client deseja acessar. Por exemplo, /index.html.

  • query: Uma string de consulta segue o componente path e fornece uma string de informações que o recurso pode utilizar para alguma finalidade (por exemplo, como parâmetros para uma pesquisa ou como dados a serem processados).

  • hash: A parte da âncora de um URL, inclui o sinal de hash (#).

Com essas propriedades de objeto Location, você pode acessar todos esses componentes de URL e o que eles podem definir ou retornar:

  • href - o URL inteiro
  • protocolo - o protocolo da URL
  • Host - o nome do host e a porta do URL
  • hostname - o nome do host do URL
  • port - o número da porta que o servidor usa para o URL
  • pathname - o nome do caminho do URL
  • pesquisar - a parte da consulta do URL
  • hash - a parte da âncora do URL

Eu espero que você tenha sua resposta.

593
Nikhil Agrawal

Use window.location para acesso de leitura e gravação ao objeto location associado ao quadro atual. Se você quiser apenas obter o endereço como uma string de somente leitura, você pode usar document.URL, que deve conter o mesmo valor que window.location.href.

313
Christoph

Obtém o URL da página atual:

window.location.href
254
Zanoni

Para obter o caminho, você pode 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
36
Sangeet Shah

Abra Developer Tools , digite o seguinte em console e pressione Enter .

window.location

Ex: Abaixo está a captura de tela do resultado na página atual.

enter image description here

Pegue o que você precisa daqui. :)

32
tmh

Use: window.location.href.

Como mencionado acima, document.URL não atualiza ao atualizar window.location. Veja MDN .

27
Dorian

OK, obter o URL completo da página atual é fácil usando JavaScript puro. Por exemplo, tente este código nesta 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"

A propriedade window.location.href retorna o URL da página atual.

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>

Apenas não é ruim mencionar isso também:

Além disso, se você precisar de um caminho relativo, simplesmente use window.location.pathname;

E se você quiser obter o nome do host, use window.location.hostname;

E se você precisar obter o protocolo separadamente, basta fazer window.location.protocol

Além disso, se a página tiver a tag hash, você poderá obtê-la como: window.location.hash

Então window.locatation.href lida com tudo de uma vez ... basicamente:

window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.hash === window.location.href;
    //true

Também usando window não é necessário se já estiver no escopo da janela ...

Então, nesse caso, você pode usar:

location.protocol

location.hostname

location.pathname

location.hash

location.href

Get the current URL with JavaScript

24
Alireza
  • Use window.location.href para obter o URL completo.
  • Use window.location.pathname para obter URL deixando o host.
19
kishore

Você pode obter o local da URL atual com uma hash tag usando:

JavaScript:

 // Using href
 var URL = window.location.href;

 // Using path
 var URL = window.location.pathname;

jQuery :

$(location).attr('href');
15
Bhaskar Bhatt
var currentPageUrlIs = "";
if (typeof this.href != "undefined") {
       currentPageUrlIs = this.href.toString().toLowerCase(); 
}else{ 
       currentPageUrlIs = document.location.toString().toLowerCase();
}

O código acima também pode ajudar alguém

10
Rohan Patil

Adicionando resultado para referência rápida

window.location;

 Location {href: "https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript",
 ancestorOrigins: DOMStringList,
 Origin: "https://stackoverflow.com",
 replace: ƒ, assign: ƒ, …}

document.location

  Location {href: "https://stackoverflow.com/questions/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

"https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript"

location.hostname

"stackoverflow.com"
8
Hitesh Sahu

Para URL completo com strings de consulta:

document.location.toString().toLowerCase();

Para o URL do host:

window.location
7
Syed Nasir Abbas

A maneira de obter o objeto de localização atual é window.location.

Compare isso com document.location, que originalmente retornava apenas o URL atual como uma string. Provavelmente para evitar confusão, document.location foi substituído por document.URL.

E todos os navegadores modernos mapeiam document.location para window.location.

Na realidade, para a segurança entre navegadores, você deve usar window.location em vez de document.location.

4
Josip Ivic

No jstl, podemos acessar o caminho da URL atual usando pageContext.request.contextPath. Se você quiser fazer uma chamada Ajax, use o seguinte URL.

url = "${pageContext.request.contextPath}" + "/controller/path"

Exemplo: Para a página http://stackoverflow.com/posts/36577223, isso dará http://stackoverflow.com/controller/path.

4
Maleen Abewardana
   location.Origin+location.pathname+location.search+location.hash;
0
زياد

se você está se referindo a um link específico que tem um id este código pode ajudá-lo.

$(".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+"");
                          }
                      });
                });

Eu estou usando ajax aqui para enviar um id e redirecionar a página usando window.location.replace . basta adicionar um atributo id="" conforme indicado.

0
curiosity

Obtendo o URL atual com JavaScript:

  • window.location.toString ();

  • window.location.href

0
Hasib Kamal

Você pode obter o link completo da página atual através de location.href e para obter o link do controlador atual, use:

location.href.substring(0, location.href.lastIndexOf('/'));
0
Khaled Harby