Tudo o 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.
Tudo o 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.
Respostas:
Usar:
window.location.href
Conforme observado nos comentários, a linha abaixo funciona, mas está corrigida para o Firefox.
document.URL;
Consulte URL do tipo DOMString, somente leitura .
document.URLpropriedade não é atualizada após a window.locationpara uma âncora (#), enquanto o window.location.hreffaz. Eu montei uma demonstração ao vivo aqui: jsfiddle.net/PxgKy Não testei nenhuma outra versão do Firefox. Não document.URLforam encontrados problemas ao usar no Chrome 20 e IE9.
window.location.hostewindow.location.href.toString().split(window.location.host)[1]
document.baseURIentão. Basicamente, existem 3 maneiras de obter url document.baseURI, document.URL, e location.
name="URL"essa propriedade, estará sombreada no documentobjeto e seu código será interrompido. Nesse caso, document.URLfará referência ao nó DOM. Melhor usar as propriedades do objeto global como em window.location.href.
Acesso a informações de URL
O JavaScript fornece 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 Locationobjeto, que é uma propriedade do Windowobjeto. Você pode criar um novo Locationobjeto que tenha o URL atual da seguinte maneira:
var currentLocation = window.location;
Estrutura básica de URL
<protocol>//<hostname>:<port>/<pathname><search><hash>
protocolo: especifica o nome do protocolo a ser usado para acessar o recurso na Internet. (HTTP (sem SSL) ou HTTPS (com SSL))
nome do host: o nome do host especifica o host que possui o recurso. Por exemplo www.stackoverflow.com,. Um servidor fornece serviços usando o nome do host.
porta: Um número de porta usado para reconhecer um processo específico para o qual uma Internet ou outra mensagem de rede deve ser encaminhada quando chegar a um servidor.
nome do caminho: o caminho fornece informações sobre o recurso específico no host que o cliente da Web deseja acessar. Por exemplo /index.html,.
pesquisa: uma sequência de consultas segue o componente do caminho e fornece uma sequência de informações que o recurso pode utilizar para algum propósito (por exemplo, como parâmetros para uma pesquisa ou como dados a serem processados).
hash: a parte âncora de um URL, inclui o sinal de hash (#).
Com essas Locationpropriedades do objeto, você pode acessar todos esses componentes de URL e o que eles podem definir ou retornar:
Espero que você tenha a sua resposta ..
window.location, mas propriedades, e aqui temos um exemplo : var stringPathName = window.location.pathname.
substring. No entanto, pode ser útil quando você deseja usar document.location = "/page.html";o redirecionamento para a página raizpage.html
search, mas na lista de descrições abaixo, chama-se a query. Talvez eles possam ser reconciliados ou outras explicações possam ser adicionadas.
Use window.locationpara acesso de leitura e gravação ao objeto de local associado ao quadro atual. Se você quiser apenas obter o endereço como uma seqüência de somente leitura, use o document.URLque deve conter o mesmo valor que window.location.href.
Obtém o URL da página atual:
window.location.href
documenté a raiz da árvore de documentos definida pela especificação. windowgeralmente é equivalente, mas pode não ser em algumas circunstâncias estranhas.
OK, é fácil obter o URL completo da página atual 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
window.location.hrefpropriedade 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>
Não é ruim mencionar isso também:
se você precisar de um caminho relativo, basta usar window.location.pathname;
se você deseja obter o nome do host, pode usar window.location.hostname;
e se você precisar obter o protocolo separadamente, use window.location.protocol
hashtag, você pode obtê-lo gosto: window.location.hash.Então window.location.hreflida com tudo de uma vez ... basicamente:
window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.hash === window.location.href;
//true
Também windownão é necessário usar se já estiver no escopo da janela ...
Portanto, nesse caso, você pode usar:
location.protocol
location.hostname
location.pathname
location.hash
location.href
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
Você pode obter o local atual do URL com uma tag hash usando:
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();
}
O código acima também pode ajudar alguém
http://www.server.com/path/to/Script.php?option=A1B2C3, se o sistema de arquivos faz distinção entre maiúsculas e minúsculas (Linux / Unix), não é necessário que Script.php e script.php sejam os mesmos. E mesmo se não diferencia maiúsculas de minúsculas (Windows, alguns Mac OS), ?option=A1B2C3não é o mesmo ?option=a1b2c3ou mesmo ?Option=A1B2C3. Somente o servidor não diferencia maiúsculas de minúsculas: www.server.com ou www.SeRvEr.cOm são os mesmos.
Adicionando resultado para referência rápida
window.location;
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 completo com cadeias de consulta:
document.location.toString().toLowerCase();
Para URL do host:
window.location
No jstl, podemos acessar o caminho da URL atual usando pageContext.request.contextPath. Se você deseja fazer uma chamada Ajax, use o seguinte URL.
url = "${pageContext.request.contextPath}" + "/controller/path"
Exemplo: Para a página que http://stackoverflow.com/posts/36577223será exibida http://stackoverflow.com/controller/path.
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.locationfoi substituído por document.URL.
E todos os navegadores modernos mapeiam document.locationpara window.location.
Na realidade, para segurança entre navegadores, você deve usar em window.locationvez de document.location.
Para aqueles que desejam um objeto de URL real, potencialmente para um utilitário que usa URLs como argumento:
const url = new URL(window.location.href)
A resposta de Nikhil Agrawal é ótima, basta adicionar um pequeno exemplo aqui que você pode fazer no console para ver os diferentes componentes em ação:
Se você deseja que a URL base sem o caminho ou o parâmetro de consulta (por exemplo, para fazer solicitações AJAX contra funcione nos servidores de desenvolvimento / preparo e produção), window.location.originé melhor, pois mantém o protocolo e a porta opcional (no desenvolvimento do Django, às vezes tenha uma porta não padrão que a quebre se você apenas usar o nome do host etc.)
Você pode obter o link completo da página atual location.href
e, para obter o link do controlador atual, use:
location.href.substring(0, location.href.lastIndexOf('/'));
Obtendo o URL atual com JavaScript:
window.location.toString ();
window.location.href
se você está se referindo a um link específico que possui um ID, esse 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+"");
}
});
});
Estou usando o ajax aqui para enviar um ID e redirecionar a página usando window.location.replace . basta adicionar um atributo id=""conforme indicado.
Em primeiro lugar, verifique se a página está completamente carregada no
browser,window.location.toString();
window.location.href
em seguida, chame uma função que use URL, variável de URL e imprima no console,
$(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 );
});