Respostas:
window.location.hrefnã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 hrefcomo método. Eu já vi isso funcionar, apenas no IE10, em uma página que usei. Provavelmente é por isso que o solicitante estava chamando hrefum método. Veja a questão IE incompatibilidade com window.location.href . Mas sim, é melhor usar hrefcomo uma propriedade, que funcionará em qualquer navegador, incluindo o IE .
window.location.hrefda 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.hrefabrirá o novo URL na sua janela atual.
O window.openURL será aberto na nova guia do navegador
O window.location.hrefURL será aberto na guia atual (você pode usar location)
Aqui está um exemplo de violino (nos trechos SO, window.open não funciona)