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.URL
propriedade não é atualizada após a window.location
para uma âncora (#), enquanto o window.location.href
faz. Eu montei uma demonstração ao vivo aqui: jsfiddle.net/PxgKy Não testei nenhuma outra versão do Firefox. Não document.URL
foram encontrados problemas ao usar no Chrome 20 e IE9.
window.location.host
ewindow.location.href.toString().split(window.location.host)[1]
document.baseURI
então. Basicamente, existem 3 maneiras de obter url document.baseURI
, document.URL
, e location
.
name="URL"
essa propriedade, estará sombreada no document
objeto e seu código será interrompido. Nesse caso, document.URL
fará 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 Location
objeto, que é uma propriedade do Window
objeto. Você pode criar um novo Location
objeto 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 Location
propriedades 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.location
para 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.URL
que 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. window
geralmente é 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.href
propriedade 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
hash
tag, você pode obtê-lo gosto: window.location.hash
.Então window.location.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 window
nã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=A1B2C3
não é o mesmo ?option=a1b2c3
ou 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/36577223
será 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.location
foi substituído por document.URL
.
E todos os navegadores modernos mapeiam document.location
para window.location
.
Na realidade, para segurança entre navegadores, você deve usar em window.location
vez 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 );
});