Jump to content
Fórum Script Brasil
  • 0

Função Complicada Como Resolvo...


Guest - Luciano Franca -
 Share

Question

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 to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 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 ?

Edited by John Doe
Link to comment
Share on other 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 to comment
Share on other sites

  • 0
Guest Crystian

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 to comment
Share on other 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 to comment
Share on other sites

  • 0
Guest Crystian

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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.7k
    • Total Posts
      648.4k
×
×
  • Create New...