Para abrir uma nova janela (ou aba) em JavaScript usando o atributo href e definindo seu tamanho e scroll oculto, você pode usar o seguinte código:
<a href="#" onclick="window.open('https://www.exemplo.com', 'janela', 'width=500,height=500,scrollbars=0'); return false;">Abrir janela</a>
Explicação:
- O atributo
hrefé definido como#para que o link não redirecione para uma nova página; - O evento
onclické adicionado ao link, que chama a funçãowindow.open(); - A função
window.open()recebe três argumentos: a URL que deve ser aberta, o nome da janela e as configurações da janela; - As configurações da janela são passadas como uma string no formato
'nome=valor,nome=valor,...'. Neste caso, são definidos os valores dewidth(largura),height(altura) escrollbars(scrollbars = 0 significa que o scroll será ocultado); - O comando
return false;é adicionado para que o link não execute sua função padrão (redirecionar para uma nova página).
Nota: Observe que o bloqueio de pop-ups pode impedir que a janela seja aberta em alguns navegadores.
Há várias opções que você pode adicionar para personalizar ainda mais a janela aberta. Aqui estão algumas ideias:
topeleft: você pode definir a posição inicial da janela na tela usando os valorestopeleft. Por exemplo:'top=100,left=100,width=500,height=500,scrollbars=0'.resizable: você pode permitir ou proibir que a janela seja redimensionada pelo usuário usando o valorresizable. Por exemplo:'width=500,height=500,resizable=no,scrollbars=0'.toolbar,location,directories,status,menubar: você pode controlar a exibição das barras de ferramentas do navegador na janela usando os valorestoolbar,location,directories,statusemenubar. Por exemplo:'width=500,height=500,toolbar=no,location=no,scrollbars=0'.fullscreen: você pode abrir a janela em modo de tela cheia usando o valorfullscreen. Por exemplo:'fullscreen=yes'.
Lembre-se de que nem todas as opções são suportadas por todos os navegadores, portanto, verifique a documentação do navegador para garantir a compatibilidade com as opções que você deseja usar.
Um exemplo legal, é de centralizar a janela na tela, você pode usar as propriedades top e left com valores calculados a partir das dimensões da janela e as dimensões da tela. Aqui está um exemplo de como centralizar a janela vertical e horizontalmente:
<a href="#" onclick="openWindow(); return false;">Abrir janela</a>
<script>
function openWindow() {
var width = 500;
var height = 500;
var left = (window.screen.width / 2) - (width / 2);
var top = (window.screen.height / 2) - (height / 2);
var options = 'top=' + top + ',left=' + left + ',width=' + width + ',height=' + height + ',scrollbars=0';
window.open('https://www.exemplo.com', 'janela', options);
}
</script>
Explicação:
- O link HTML chama a função
openWindow()quando clicado; - A função
openWindow()define a largura e altura da janela (500×500 pixels neste exemplo); - Em seguida, ele calcula as coordenadas de
leftetoppara centralizar a janela na tela usando as dimensões da tela e da janela; - Finalmente, ele define as opções da janela, incluindo as coordenadas de
topeleft, e abre a janela usandowindow.open().
Note que, neste exemplo, a função openWindow() é definida separadamente do link HTML, mas poderia ser incluída diretamente no atributo onclick do link.
