Ir para conteúdo
Fórum Script Brasil
  • 0

Função Complicada Como Resolvo...


Guest - Luciano Franca -

Pergunta

Guest - Luciano Franca -

Veja a função que estou tentando usar mais não consigo:

function messageWindow(title, msg)

{

var width="300", height="125";

var left = (screen.width/2) - width/2;

var top = (screen.height/2) - height/2;

var styleStr = & #39;toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbar=no,resizable=no,copyhi

story=yes,width='+width+',height='+height+',left='+left+',top='+top+',screenX='+left+',screenY='+top;

var msgWindow = window.open("","msgWindow", styleStr);

var head = '<html><head><title>'+title+'</title></head><body onBlur="window.focus()">';

var body = '<center>'+msg+'<br><p><form><input type="button" value="Ok" onClick="self.close()"></form></body></html>';

msgWindow.document.write(head + body);

}

Na body dela eu coloquei onBlur="window.focus()" ou onBlur="document.focus()"

mais nenhum dos dois funciona é interessante que se eu colocar qualquer um desses codigos

onBlur="window.focus()" ou onBlur="document.focus()" na body de uma pagina qualquer

e abrir ela como uma pop-up funciona certinho, ou seja a pop-up vai sempre ficar na frente

da pagina que abriu ela, mais usando nessa function messageWindow(title, msg) não funciona

porque???

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Doido...Esse código é meio confuso...confesso que não vi nada de cara, mas olha só:

var styleStr = 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbar=no,

resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+',

top='+top+',screenX='+left+',screenY='+top;

var msgWindow = window.open("","msgWindow", styleStr);

Acho que você esqueceu a aspa simples no início

E eu não conhecia essas propriedades copyhistory, screenX nem screenY ... você tem certeza que elas existem ? Acho que vou pesquisar...

cool.gif

Abraços

EDITADO

Cara deve ser o sono me afetando... Desconsidera o que eu falei acima... a aspa não tá faltando não, o ASCII tá ali

Mas na variável onde se encontra a string com o conteúdo você já tentou iniciar com aspas duplas e usar eventos com simples ?

Editado por John Doe
Link para o comentário
Compartilhar em outros sites

  • 0

jovem você não tem alguma ai, essa função é um tipo de caixa de mensagem do tipo "Alert" só que com outra cara, mais bonita, e com mais recursos,

se o colega tiver alguma fico muito grato.

Link para o comentário
Compartilhar em outros sites

  • 0

Teu problema está nas aspas.

dá uma olhada no código que eu editei do teu e funciona.

<html>
<head>
<script language="javascript">
function messageWindow(title, msg)
{
var width="300", height="125";
var left = (screen.width/2) - width/2;
var top = (screen.height/2) - height/2;
var styleStr = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbar=no,resizable=no,copyhistory=yes,width="+width+",height="+height+",left="+left+",top="+top+",screenX="+left+",screenY="+top;
var msgWindow = window.open("","msgWindow", styleStr);
var head = '<html><head><title>'+title+'</title></head><body onBlur="window.focus()">';
var body = '<center>'+msg+'<br><p><form><input type="button" value="Ok" onClick="self.close()"></form></body></html>';
msgWindow.document.write(head + body);
}
</script>
</head>
<body onLoad="messageWindow('Alert', 'você digitou errado algo');">

asdasdas
asdasd
</body>
</html>

Não sei se era bem isso que tu queria...

Abraço

Crystian

Link para o comentário
Compartilhar em outros sites

  • 0

jovem o codigo que você editou não resolveu não,

o problema esta nessa linha

var head = '<html><head><title>'+title+'</title></head><body onBlur="window.focus()">';

ela devira fazer com que a janela fosse uma showmodal, mais não fica não, simplesmente parece que o codigo onBlur="window.focus()"> não é executado

outra forma que tentei foi essa

function ShowDialog() {

var mensagem = window.open("","_blank","height=100, width=200");

var janela = "<html><head><title></title></head><body><form><input type='button' value='Ok' onClick='self.close()'></form></body></html>";

mensagem.document.write(janela);

}

Essa ai funciona mais não showmodal eu queria usar com "window.showModalDialog" e não consigo vejam o que fiz e não roda..

function ShowDialog() {

var mensagem = window.showModalDialog("", "_blank", "dialogHeight:100px; dialogWidth:200px;");

var janela = "<html><head><title></title></head><body><form><input type='button' value='Ok' onClick='self.close()'></form></body></html>";

mensagem.document.write(janela);

}

com "window.open" aceita e mais com "window.showModalDialog" não funciona, como fazer para aceitar com showModalDialog.

Link para o comentário
Compartilhar em outros sites

  • 0

Eu acredito q o ShowModalDialog só funcione no IE. Utilizo o Mozilla e Netscape pois tenho o Connectiva instalado aqui na minha máquina, por isso não posso testar no IE. O código que te enviei funciona no Mozilla, não da maneira que você quer até porque ele faz o que se proprõem a fazer, no onBlur ele seta novamente o foco para o popup. Qual o problema aqui? o Foco. Os eventos e métodos que trabalham com o foco, infelizmente não tem o efeito desejado quando aplicados quase simultaneamente.

te dou uma sugestão, no onblur coloque o self.close() e fecha a janela, acredito q assim pelo menos tu não vai ter vários popus aberto ao mesmo tempo.

Abraço

Crystian

PS: não se era bem isso que você queria. Acredito q não, mas posta ae q vamos conversando.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest - Luciano França -

Em 1º lugar agradeço pela atenção dos colegas

Nos meus testes aqui o "onblur" não tem o efeito desejado eu apenas quero que a pop-up fique sempre na frente como showmodal e nada que eu coloque no codigo do "<body onBlur= " funciona.

por isso estava pensando no "showModalDialog"

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...