Auxilio com Menus Pop-Up
Pessoal, desenvolvi uma aplicação usando Intraweb, onde tenho que inserir alguns dados e gerar um boleto bancário. Até aí tá tudo perfeito... o problema surgiu com a emissão do boleto (que já está feito e funcionando). Eu crio um arquivo html que é o boleto, e para mostrar usei um Window.open para que fosse aberta uma janela com o boleto. Porém os bloqueadores de pop-up restringem a exibição da nova janela, me causando problemas. Alguém poderia por favor me ajudar, me dizendo uma forma de se evitar isso, ou uma forma de eu abrir essa página, sem que a mesma seja considerada um pop-up?
Agradeço Muito a Quem Puder me Ajudar.
Agradeço Muito a Quem Puder me Ajudar.
Thomaz_prg
Curtidas 0
Respostas
Caninha51
27/12/2005
Me diz uma coisa, tu tah fazendo a pagina abrir sozinho a janela, ou somente a partir de um botão ou link?
Pq se naum me engano os browser soh bloqueiam pop-ups automáticos, num eh naum?
jah tentou com vbscript?
<SCRIPT LANGUAGE=´vbscript´>
Sub cmdNova_OnClick
dim strOptions
strOptions = ´toolbar=No, location=No, directories=No, ´
strOptions = strOptions & ´status=No, menubar=No, scrollbars=No,
´
strOptions = strOptions & ´resizableNo, width=200, height=200´
Window.Open ´http://www.google.com.br´, ´NovaJan´, strOptions
End Sub
</SCRIPT>
<INPUT TYPE=´button´ NAME=´cmdNova´ VALUE=´Nova janela´>
O ruim eh q naum funciona em todo browser!
flw
Pq se naum me engano os browser soh bloqueiam pop-ups automáticos, num eh naum?
jah tentou com vbscript?
<SCRIPT LANGUAGE=´vbscript´>
Sub cmdNova_OnClick
dim strOptions
strOptions = ´toolbar=No, location=No, directories=No, ´
strOptions = strOptions & ´status=No, menubar=No, scrollbars=No,
´
strOptions = strOptions & ´resizableNo, width=200, height=200´
Window.Open ´http://www.google.com.br´, ´NovaJan´, strOptions
End Sub
</SCRIPT>
<INPUT TYPE=´button´ NAME=´cmdNova´ VALUE=´Nova janela´>
O ruim eh q naum funciona em todo browser!
flw
GOSTEI 0
Thomaz_prg
27/12/2005
A página é aberta a partir de um botão. Uso o mesmo comando que você citou, porém com javascript, mas tá na mesma. Mais alguém poderia me ajudar??
GOSTEI 0
Michael
27/12/2005
Não sei se isso funciona, mas tente criar uma nova janela com menus, barra de ferramentas, etc. Talvez isso ´engane´ o bloqueador de pop-ups. Mas há um porém: o IE, por exemplo, bloqueia o conteúdo ativo de uma página (scripts em JS, por exemplo), quando ela é carregada. Desta forma o código é retirado e não funciona. Então não é o bloqueador de pop-up´s quem está impedindo a janela de abrir.
[]´s
[]´s
GOSTEI 0
Caninha51
27/12/2005
Cara, abre nas mesma página mesmo.
Ou então chama em um link/form com a target=_blank
Ou então chama em um link/form com a target=_blank
GOSTEI 0
Thomaz_prg
27/12/2005
Bom, fico muito grato, a todos pela atenção e ao colega Caninha51 pela colaboração, mas infelizmente nada.
Michael já tentei todas as combinações possíveis, desde ativar barras (todas) a desativar todas e nada. Mas o problema não ocorre somente no Internet Explorer, mas testei também no Opera, Firefox e Maxthron. Se desativo o bloqueador, funciona normal.
Colega Caninha51, saberia me dizer como faço isso, pois estou usando intraweb (pra ser mais exato, tudo foi feito em intraweb). Se tiver um pequeno código de exemplo, e novamente agradeço seu apoio.
Michael já tentei todas as combinações possíveis, desde ativar barras (todas) a desativar todas e nada. Mas o problema não ocorre somente no Internet Explorer, mas testei também no Opera, Firefox e Maxthron. Se desativo o bloqueador, funciona normal.
Colega Caninha51, saberia me dizer como faço isso, pois estou usando intraweb (pra ser mais exato, tudo foi feito em intraweb). Se tiver um pequeno código de exemplo, e novamente agradeço seu apoio.
GOSTEI 0
Caninha51
27/12/2005
thomaz, não sei como se faz isso na intraweb, pois nunca usei.
Mas a maneira que eu pensei foi essa...
<form action=´gerar_boleto.htm´ method=´post´ name=´form1´ target=´_blank´>
<input type=´text´ name=´textfield´>
<input type=´submit´ name=´Submit´ value=´Enviar´>
</form>
Eu acredito que na intraweb tenha como mudar o target de um form!:D
Isso só vai servir se vc chamar a página q gera o boleto a partir de um form.
Mas se for de um link normal vc faz a mesma coisa, coloca o target _blank.
Assim o browser naum interpreta como pop-up naum.
flw
Mas a maneira que eu pensei foi essa...
<form action=´gerar_boleto.htm´ method=´post´ name=´form1´ target=´_blank´>
<input type=´text´ name=´textfield´>
<input type=´submit´ name=´Submit´ value=´Enviar´>
</form>
Eu acredito que na intraweb tenha como mudar o target de um form!:D
Isso só vai servir se vc chamar a página q gera o boleto a partir de um form.
Mas se for de um link normal vc faz a mesma coisa, coloca o target _blank.
Assim o browser naum interpreta como pop-up naum.
flw
GOSTEI 0
Thomaz_prg
27/12/2005
beleza... muito obrigado pelo apoio... vou testar (ver se encontro algo parecido ou faço algo na mão mesmo) e digo se funcionou.
Muito Obrigado a todos!
Muito Obrigado a todos!
GOSTEI 0
Thomaz_prg
27/12/2005
Colega Cainha51, realmente se eu usasse apenas o HTML estaria perfeito, mas no Intraweb não achei nada para adicionar aqueles comandos... tô quase pra deixar como está... e esquecer de Intraweb. Estamos tendo alguns problemas com essa tecnologia, não só com relação a esse ponto (pop-up´s) mas também para o servidor. É um Itautec com 2 Processadores Xeon 3.2 1 giga de ram com ecc e 3 hd´s scsi, e após ativarmos o módulo do iw, quando temos um pico de acessos, o servidor vai a loucura... chegou a ocupar 2 gigas de paginação... Acho que vou abandonar IW, e partir pro uso de WebModules, ou outra linguagem pra web.
GOSTEI 0
Caninha51
27/12/2005
Cara, como eu disse, infelizmente de intraweb eu naum saco, mas acredito q tenha como modificar o target.
Naum entendo de intraweb, então naum tenho oq falar dela. Mas utilizo o PHP pra web e estou muito satisfeito com ele! :D
flw cara :)
Naum entendo de intraweb, então naum tenho oq falar dela. Mas utilizo o PHP pra web e estou muito satisfeito com ele! :D
flw cara :)
GOSTEI 0
Michael
27/12/2005
Vc está usando IW no modo [b:18aee0307b]standalone application[/b:18aee0307b]? Se sim, então o número máximo de usuários simultâneos que podem ser conectados não pode ser superior a [b:18aee0307b]20[/b:18aee0307b].
Mas vc pode usar o Intraweb em [b:18aee0307b]Page Mode[/b:18aee0307b] com a tecnologia [b:18aee0307b]WebBroker[/b:18aee0307b], e aumentar a escalabilidade da sua aplicação drasticamente. Veja [url=http://forum.clubedelphi.net/viewtopic.php?t=62915]neste link[/url] um artigo introdutório que escrevi sobre o assunto.
Quando ao problema com a janela pop-up, creio ter encontrado uma solução. Na propriedade [b:18aee0307b]ScriptEvents [/b:18aee0307b]do [b:18aee0307b]TIWButton[/b:18aee0307b], selecione o evento [b:18aee0307b]OnClick [/b:18aee0307b]e digite o seguinte código, em JavaScript:
Na minha máquina funcionou. Tentei abrir um arquivo HTML com código em JS para carregar uma página em outra janela e o IE bloqueou. Porém quando rodei a aplicação Intraweb o pop-up abriu.
Diga se funcionou.
[]´s
Mas vc pode usar o Intraweb em [b:18aee0307b]Page Mode[/b:18aee0307b] com a tecnologia [b:18aee0307b]WebBroker[/b:18aee0307b], e aumentar a escalabilidade da sua aplicação drasticamente. Veja [url=http://forum.clubedelphi.net/viewtopic.php?t=62915]neste link[/url] um artigo introdutório que escrevi sobre o assunto.
Quando ao problema com a janela pop-up, creio ter encontrado uma solução. Na propriedade [b:18aee0307b]ScriptEvents [/b:18aee0307b]do [b:18aee0307b]TIWButton[/b:18aee0307b], selecione o evento [b:18aee0307b]OnClick [/b:18aee0307b]e digite o seguinte código, em JavaScript:
window.open("http://www.devmedia.com.br", "", "");Na minha máquina funcionou. Tentei abrir um arquivo HTML com código em JS para carregar uma página em outra janela e o IE bloqueou. Porém quando rodei a aplicação Intraweb o pop-up abriu.
Diga se funcionou.
[]´s
GOSTEI 0
Thomaz_prg
27/12/2005
Muito obrigado pela atenção de vocês, Caninha51 e Michael... fico realmente muito grato.
Bom, Michael, eu estou usando Apache DSO Application, pois parece ser o mais indicado para meu server http (apache 1.3). Vou testar sua sugestão aqui, e posto novamente indicando o resultado.
Novamente agradeço muito a vocês 2 pela ajuda.
Bom, Michael, eu estou usando Apache DSO Application, pois parece ser o mais indicado para meu server http (apache 1.3). Vou testar sua sugestão aqui, e posto novamente indicando o resultado.
Novamente agradeço muito a vocês 2 pela ajuda.
GOSTEI 0
Thomaz_prg
27/12/2005
Michael, só aproveitando o gancho, dei uma olhada no seu artigo, mas gostaria de saber, como faço para chamar uma outra página, a partir de uma já existente?? E como ficaria em questão da memória, pois estive tendo muitos problemas usando Apache DSO Applic..
GOSTEI 0
Thomaz_prg
27/12/2005
Valeu Pessoal... finalmente deu tudo certo...
Resolvi os problemas dos pop-up´s usando o javascript, e, os problemas de memória que eu estava tendo com o apache, resolvi da seguinte forma, fiz o apache criar vários processos no servidor (processos filhos) que se finalizavam conforme o tempo que ficavam ociosos (timeout) o que não estava acontecendo usando um único processo. Outra coisa, é o fato de deixar o apache iniciar automaticamente, como um serviço. Removi o serviço do apache da inicialização automática e o iniciei via console, usando: Net Start Apache. Dessa forma tinha resolvido em termos o meu problema, pois a memória continuava sobrecarregada. Então criei um servidor de relatórios ao invés de utilizá-los (criar e mostrar) dentro da minha aplicação Web. Ficou um pouco trabalhoso, mas o resultado valeu a pena.
Novamente agradeço aos 2 amigos, Caninha51 e Michael pela ajuda e atenção... Muito Obrigado mesmo!
Resolvi os problemas dos pop-up´s usando o javascript, e, os problemas de memória que eu estava tendo com o apache, resolvi da seguinte forma, fiz o apache criar vários processos no servidor (processos filhos) que se finalizavam conforme o tempo que ficavam ociosos (timeout) o que não estava acontecendo usando um único processo. Outra coisa, é o fato de deixar o apache iniciar automaticamente, como um serviço. Removi o serviço do apache da inicialização automática e o iniciei via console, usando: Net Start Apache. Dessa forma tinha resolvido em termos o meu problema, pois a memória continuava sobrecarregada. Então criei um servidor de relatórios ao invés de utilizá-los (criar e mostrar) dentro da minha aplicação Web. Ficou um pouco trabalhoso, mas o resultado valeu a pena.
Novamente agradeço aos 2 amigos, Caninha51 e Michael pela ajuda e atenção... Muito Obrigado mesmo!
GOSTEI 0