Existe uma maneira realmente fácil de começar a partir de um URL completo:
document.location.href = "http://aaa.bbb.ccc.com/asdf/asdf/sadf.aspx?blah"
E extraia apenas a parte do host:
aaa.bbb.ccc.com
Deve haver uma função JavaScript que faça isso de forma confiável, mas não consigo encontrá-la.
javascript
hostname
Dustin Getz
fonte
fonte
window.location.origin
é indefinido no IE9 (de acordo com o link, é IE11 +). Esta resposta ajudou.Você pode concatenar o protocolo de localização e o host:
Para um URL, digamos
'http://stackoverflow.com/questions'
, ele retornará'http://stackoverflow.com'
fonte
Uso
document.location
objecto e suashost
ouhostname
propriedades.fonte
A resposta aceita não funcionou para mim, pois queria trabalhar com URLs arbitrários, não apenas com o URL da página atual.
Dê uma olhada no
URL
objeto :fonte
Existem duas maneiras. A primeira é uma variante de outra resposta aqui, mas essa conta para portas não padrão:
Mas eu prefiro esse método mais simples (que funciona com qualquer string URI):
fonte
usar
e para: " http://aaa.bbb.ccc.ddd.com/sadf.aspx?blah "
você receberá: http://aaa.bbb.ccc.ddd.com/
fonte
Tentar
ou
fonte
Há outro truque que eu uso e nunca vi em nenhuma resposta do StackOverflow: o uso do atributo "src" de uma imagem produzirá o caminho base completo do seu site. Por exemplo :
Em um URL como
http://domain.com/somesite/index.html
,root
será definido comohttp://domain.com/somesite/
. Isso também funciona para o host local ou qualquer URL base válido.Observe que isso causará uma falha na solicitação HTTP na
$
imagem fictícia. Você pode usar uma imagem existente para evitar isso, com apenas pequenas alterações no código.Outra variante usa um link fictício, sem efeito colateral nas solicitações HTTP:
Eu não testei em todos os navegadores.
fonte
Verifique isto:
isso retornará o nome do host como
www.domain.com
e:
retornará nome de domínio com porta como
www.example.com:80
Para uma referência completa, consulte o site do desenvolvedor Mozilla .
fonte
Eu gostaria de especificar algo. Se alguém quiser obter o URL inteiro com o caminho que eu preciso, pode usar:
fonte
Sei que é um pouco tarde, mas criei uma pequena função limpa com uma pequena sintaxe do ES6
Também pode ser escrito no ES5, como
É claro que o IE não suporta
Object.assign
, mas na minha linha de trabalho, isso não importa.fonte
O Regex fornece muito mais flexibilidade.
fonte