Respostas:
window.location.href
não é um método, é uma propriedade que informa a localização atual do URL do navegador. Alterar o valor da propriedade redirecionará a página.
window.open()
é um método para o qual você pode passar um URL para o qual deseja abrir em uma nova janela. Por exemplo:
exemplo window.location.href:
window.location.href = 'http://www.google.com'; //Will take you to Google.
exemplo window.open ():
window.open('http://www.google.com'); //This will open Google in a new window.
window.open()
podem ser passados parâmetros adicionais. Consulte o tutorial : window.open
window.location.href
é uma propriedade, não um método, mas o Internet Explorer (pelo menos na versão 10) também permite que você trate href
como método. Eu já vi isso funcionar, apenas no IE10, em uma página que usei. Provavelmente é por isso que o solicitante estava chamando href
um método. Veja a questão IE incompatibilidade com window.location.href . Mas sim, é melhor usar href
como uma propriedade, que funcionará em qualquer navegador, incluindo o IE .
window.location.href
da mesma maneira. Afinal, as versões mais recentes do iE geralmente estão ficando mais baseadas em padrões, e não menos. Portanto, se o IE10 ainda está quebrando o padrão, as versões mais antigas provavelmente também o fizeram.
window.open
abrirá um novo navegador com o URL especificado.
window.location.href
abrirá o URL na janela em que o código é chamado.
Observe também que window.open()
é uma função no objeto da janela, enquanto window.location
é um objeto que expõe uma variedade de outros métodos e propriedades .
window.open é um método; você pode abrir uma nova janela e personalizá-la. window.location.href é apenas uma propriedade da janela atual.
Já existem respostas que descrevem a propriedade window.location.href e o método window.open () .
Eu irei por uso objetivo:
Use window.location.href. Defina a propriedade href como href de outra página.
Use window.open (). Passe parâmetros de acordo com seu objetivo.
Use window.location.href. Obtenha o valor da propriedade window.location.href. Você também pode obter um protocolo específico, nome do host e hashstring no objeto window.location.
Consulte Objeto de localização para obter mais informações.
window.open ()
abrirá uma nova janela, enquanto window.location.href
abrirá o novo URL na sua janela atual.
O window.open
URL será aberto na nova guia do navegador
O window.location.href
URL será aberto na guia atual (você pode usar location
)
Aqui está um exemplo de violino (nos trechos SO, window.open não funciona)