Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Muitas vezes precisamos realmente de uma janela modal tipo dos programas desktop onde o usuário deverá fechá-la para prosseguir na navegação.
Depois de muita pesquisa na net, muitos testes com diversos scripts finalmente surge uma luz no final do túnel, a qual e gostaria de compartilhar com os demais participantes deste fórum que muito me ajuda.
Como muita gente já deve ter percebido, a maioria dos scripts que prometem fazer um popup modal, não funcionam corretamente, basta que se clique fora dele e temos acesso ao frame pai.
Aqui mesmo neste forum eu encontrei a solução postada pelo Mauricio Junior para uma solução em dotnet mas que serve para qualquer outra aplicação.
1) Na seção do header ou outra se preferir coloque este código:
<script type="text/javascript" src="libs/jquery-1.3.2.js"></script>
<script>
function dialogModal(url, nome, height, width) {
eval(window.showModalDialog(url, nome,'Resizable:no; DialogHeight:'+height+'px; DialogWidth:'+width+'px; Edge:raised; Help:no; Scroll:no; Status:no; Center:1;'));
return false;
}
$(document).ready(function() {
$('.show').click(function(){
dialogModal('seuscript.php?id='+this.id, 'detail', 400, 600)
});
})
Como podemos ter várias chamadas dentro da página, é mais prático usar um clas em vez de um id.
detail é o nome do popup, 400 é o height e 600 o width. O párametro que será passado para o script é o id do link.
Examplo de chamada em html:
<a href='javascript:void(null)' class='show' id='id_do_registro'>id_do_registro</a>
Aproveitando o post para imprimir a página já abrindo o driver da impressora:
Envie o conteúdo para uma página separada e no final da página:
<script>
window.print();
</script>Carregando comentários...