Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

EvaldoBahr

FullScreen e fechar página mãe

Recommended Posts

Bom dia pessoal.

 

Ví que já tem bastante tópico sobre fullscreen, mas não achei nada sobre isso.

 

O que acontece é que qdo eu abro uma página no IE, ele abre uma nova em fullscreen e fecha a página mãe, exatamente o que quero. No FF ele abre como se fosse um popup e não fecha a página mãe.

 

Segue o código

 

window.open("Home.aspx","secondWindow","fullscreen,scrollbars='no',statusbar='yes'").focus();

window.opener = 'secondWindow';

window.self.close();

Alguém sabe como resolver?

 

-----------------------------------------------------------------------------------

Post Mesclado

-----------------------------------------------------------------------------------

 

Bom, pesquisando na net, descobri que o FF não aceita javascript pra abrir em tela cheia, então resolvi mudar de estratégia.

 

Coloquei na página mãe um gif com as frases "Bem Vindo" e "Até Logo" com um intervalo de 5 segundos pra mudar as frases, ou seja, qdo se abre a página, aparece "Bem Vindo", depois de 5 segundos ele muda para "Até Logo". Assim, quando o usuário fechar a tela cheia, vai ver a mensagem de despedida (isso no FF).

 

Bom, tentei colocar um TimeOut apenas para que o usuário receba a mensagem "Bem Vindo", e depois de 3 segundos abre a tela cheia, mas não estou conseguindo configurar corretamente.

 

Com base no código acima, alguém teria uma sugestão?

 

-----------------------------------------------------------------------------------

Post Mesclado

-----------------------------------------------------------------------------------

 

Olha, vcs podem me chingar, mas eu vou encher de novo http://forum.imasters.com.br/public/style_emoticons/default/natal_tongue.gif

 

Fazendo mais algumas pesquisas, ví q a função fullscreen é só do IE, então os outros brownsers não vão abrir mesmo.

 

Pensei no seguinte...

 

Uma página mãe, abre a uma popup em tela cheia, a página mãe se fecha sozinha.

 

Os meus problemas... não conheço muito JS, então preciso da ajuda de vcs...

 

1 - descobrir a resolução do usuário e abrir o popup nesta resolução, sem barra de ferramentas, barra de status, etc...

 

2 - Fechar a página mãe, caso não for possível, usar o contador, como expliquei no tópico acima.

 

3 - Agradecer a quem tiver paciência em me ajudar http://forum.imasters.com.br/public/style_emoticons/default/natal_tongue.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

1.resolução:

screen.width; //largura
screen.height; //altura

2.fechar página mãe(esse comando vai na página "filha")

window.opener.close();
ps.: só fecha a janela "mãe" se a janela "mãe" foi aberta por javascript tambem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já está mastigado, agora é so engolir! http://forum.imasters.com.br/public/style_emoticons/default/natal_biggrin.gif

 

Não resolve todos os seus problemas, mas ajuda:

 

<html>
<title>:: Abrir Janela em Modo Full ::	 by Rodrigojp.</title>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<head>

<script>
function janelacheia(){
	
	//Script by Rodrigojp
	
	//Fecha a janela anterior
	window.close(); 
	
	//Abre janela em modo full. Se deseja abrir outra URL, ponha dentro das primeiras aspas.
	// EX:	  window.open("outrapagina.html", "", 'scrollbars=yes, toolbar=no, location=no, resizable=yes, directories=no, status=yes, menubar=no');  
	window.open("", "", 'scrollbars=yes, toolbar=no, location=no, resizable=yes, directories=no, status=yes, menubar=no');  
	
	//Após abrir a janela, ela se posicionará no canto superior esquerdo da tela ( coordenadas x=0, y=0).
	window.moveTo(0,0);
	
	//Ordena que a janela expanda-se (maximize-se) ocupando todo o espaço da tela 
	window.resizeTo(screen.availWidth,screen.availHeight);
}
</script>

</head>
<body>
<center><h2><b>-ABRIR JANELA EM MODO FULL-</b></h2></center>
<br>
<center><input type="button" value="executar" onclick="java script:janelacheia();"></center>
<br>
<br>
<br>
<br>
<br>
<center><h5><b>[x]-Testado em IE 7  e Firefox 2.0.0.9  versao windows.</b></h5></center>
</body>
</html>

Um abraço,

 

Rodrigojp http://forum.imasters.com.br/public/style_emoticons/default/natal_noel.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os dois chegaram bem perto http://forum.imasters.com.br/public/style_emoticons/default/natal_tongue.gif

 

Vamos aos problemas.....

 

Silverfox, suas dicas foram ótimas, mas eu já estava mais ou menos com elas, e não sei como usar os comandos pra achar a resolução http://forum.imasters.com.br/public/style_emoticons/default/natal_tongue.gif

 

Rodrigojp, o seu script está fazendo quase o mesmo que o que eu postei, com uma diferença, está me avisando que a página mãe vai ser fechada e não está expandindo no IE, fica do tamanho de um popup comum.

 

Vou fuçar mais um pouco e ver o q consigo... se vcs souberem de mais alguma coisa que possa ajudar, fico muito grato.

 

-----------------------------------------------------------------------------------

Post Mesclado

-----------------------------------------------------------------------------------

 

Mais alguns detalhes.... a função para abrir a popup no canto superior esquerdo não está funcionando, ele abre na última posição memorizada.

 

Não sei se tem algo a ver, mas estou trabalhando com aspx pelo Visual Studio

 

-----------------------------------------------------------------------------------

Post Mesclado

-----------------------------------------------------------------------------------

 

Ok ok... com as idéias que vcs deram cheguei a um bom senso final....

 

Não é exatamente o que eu precisava, mas o FF não fecha a página mãe mesmo http://forum.imasters.com.br/public/style_emoticons/default/natal_tongue.gif

 

Resolvi com o seguinte código...

 

function tempo() {
   setTimeout("telacheia()",3000);
}
function telacheia() {
window.open("Home.aspx", "secondWindow", "fullscreen, 'scrollbars=yes, toolbar=no, location=no, resizable=yes, directories=no, status=yes, menubar=no'").focus();
window.opener = 'secondWindow';
window.resizeTo(screen.innerWidth, screen.innerHeight); 
window.self.close();
}

E adicionei um onload="tempo()" no body, pronto, depois de 3 segundos abre-se a página em tela cheia (IE) e ocupando toda a área da tela no FF, mas apenas no IE a página mãe fecha, então, mantive o esquema que citei antes, com um gif que mostra "Seja bem vindo" e depois de 5 segundos mostra "Até logo".

 

Até que não ficou tão ruim pra quem não conhece javascript http://forum.imasters.com.br/public/style_emoticons/default/natal_noel.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

window.opener = "secondWindow";

da erro no FF

 

adicionei a funcao moveTo

<script>
function telacheia() {
var Prop = "scrollbars=yes, toolbar=no, location=no, resizable=yes, directories=no, status=yes, menubar=no";
var Sec = window.open("Home.aspx","Sec",Prop);
Sec.focus();
Sec.resizeTo(screen.width,screen.height);
Sec.moveTo(0,0);
window.self.close();
}
window.onload = telacheia;
</script>

apesar de eu achar POP-UPs horriveis principalmente as em Fullscreen e concerteza o usuarios não gostam tbm

você poderia fazer POP-UPs falsas

procure saber sobre esse termo acho que são mais interesantes

 

e outra não apoio o bloqueio forçado do usuario quanto a sua tela(me refiro ao fullscreen, pois muitas pessoas desconhecem ALt+f4 ou alt+tab)

 

revisa sua ideia valew

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Silverfox, com o seu código, no IE fica avisando que a janela vai ser fechada, e eu não quero isso.

 

O fato de eu usar fullscreen é devido que esse código é para uma aplicação intranet, e não para um site.

 

Se de fato, eu conseguisse abrir a tela inicial expandida, mas sem o menu do navegador, já estaria ótimo pra mim, mas não estou conseguindo isso, por isso estou usando desta forma, entendeu?

 

De qualquer forma, muito obrigado pela ajuda, e se você conhecer algum método pra abrir a tela inicial como falei, expandida e sem menus, eu agradeço http://forum.imasters.com.br/public/style_emoticons/default/natal_wink.gif

 

-----------------------------------------------------------------------------------

Post Mesclado

-----------------------------------------------------------------------------------

 

Qdo eu acho que terminei, aparece mais problemas http://forum.imasters.com.br/public/style_emoticons/default/natal_tongue.gif

 

Estou usando o seguinte código :

function tempo() {
setTimeout("telacheia()",2000);
}
function telacheia() {
window.open("Default2.aspx", "secondWindow", 'scrollbar=yes, toolbar=no, location=no, resizable=yes, directories=no, status=no, enubar=no').focus();
window.opener = 'secondWindow';
window.moveTo(0,0);
window.resizeTo(screen.Width,screen.Height); 
window.self.close();
}
window.onload = tempo;

O problema é que agora não aparece as scrollbar.

 

Já tentei com "channelmode" e tb fica sem scroll....

 

Alguma sugestão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas eu disse a janela mãe tbm deve ser aberta por javascript

ps.: só fecha a janela "mãe" se a janela "mãe" foi aberta por javascript tambem

esse está errado:

window.opener = 'secondWindow';

testa no FF pra você ver o erro usa o console de erros beleza?

 

outra coisa o seu script tbm acusa pedido de fechamento da janela no IE

 

você viu como fica seu código no forum(o forum limita o texto aem perde uma letra):

'scrollbar=yes,toolbar=no,location=no,resizable=yes,directories=no,status=no,
enubar=no'

faça assim:

"scrollbars=yes, toolbar=no, location=no, resizable=yes, directories=no, status=yes, menubar=no"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu ví que no FF dá erro sim, mas ele continua rodando o script, a única coisa que ele não faz é fechar a janela mãe, mas está abrindo a outra janela maximizado. o IE abre maximizado e fecha a janela mãe, esse seria ideal se o FF fizesse tb...

 

Tb percebi o q o fórum faz, e até corrigi algumas, mas no meu caso, foi erro de digitação mesmo, estava digitando SCROLLBAR ao invés de SCROLLBARS.

 

Me parece q não vai ter muita solução mesmo, então por enquanto, vou deixar assim mesmo.

 

De qualquer forma, obrigado pela ajuda http://forum.imasters.com.br/public/style_emoticons/default/natal_wink.gif

 

-----------------------------------------------------------------------------------

Post Mesclado

-----------------------------------------------------------------------------------

 

Fuçando na net mais um pouco, me veio a idéia de colocar aquele código que verifica se o navegador é o IE e faz uma determinada ação, e se não for, faz outra.

Não tem um jeito de colocar este códico, assim, se for IE ele execulta com o "opener" e se não for, ele executa o código de uma outra forma.

 

Eu tentei vários exemplos, mas só consegui fazer funcionar no IE.

 

Alguém tem alguma sugestão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

window.opener no FF vale como NULL

e no IE vale como undefined

 

então faça uma IF assim como o exemplo:

function tempo() {
setTimeout("telacheia()",2000);
}
function telacheia() {
window.open("about:blank", "secondWindow", "scrollbar=yes, toolbar=no, location=no, resizable=yes, directories=no, status=no, enubar=no").focus();

if(window.opener!=null){
window.opener = 'secondWindow';
}else{
//comando por firefox
}

window.moveTo(0,0);
window.resizeTo(screen.Width,screen.Height);
window.self.close();
}
window.onload = tempo;

motivo do Firefox não execultar o código:

por:César Juliano

A única alternativa que achei até agora foi:

Em: C:\Arquivos de programas\Mozilla Firefox\greprefs

Editar: all.js e trocar

pref("dom.allow_scripts_to_close_windows", false);

para

pref("dom.allow_scripts_to_close_windows", true);

 

ou

 

na barra de endereços digitar: about:config

localizar a chave "dom.allow_scripts_to_close_windows", clicar sobre ela com botão direito do mouse e

inverter o valor.

 

ao abrir novamente o FireFox a função "window.close();" passará a funcionar.

 

Abraço

 

cesar-juliao@brfree.com.br

 

olha eu refiz meu código:

<script>
function telacheia() {
var Prop = "scrollbars=yes, toolbar=no, location=no, resizable=yes, directories=no, status=yes, menubar=no";
var Sec = window.open("about:blank","Sec",Prop);
Sec.focus();
Sec.resizeTo(screen.width,screen.height);
Sec.moveTo(0,0);
if(window.opener != null){
window.opener = "Sec";
}else{
//comando por firefox
}
window.self.close();
}
window.onload = telacheia;
</script>

o seu tava afetando a largura e altura no Firefox

 

e outra vou repetir novamente faça a janela "Mãe" ser aberta por javascript tbm para que funcione em

ambos navegafores

 

tipo assim:

pagiaA.html:

<script>
window.onload = function(){
window.open("paginaB.html","_blank");
};
</script>

paginaB.html:

<script>
function telacheia() {
var Prop = "scrollbars=yes, toolbar=no, location=no, resizable=yes, directories=no, status=yes, menubar=no";
var Sec = window.open("about:blank","Sec",Prop);
Sec.focus();
Sec.resizeTo(screen.width,screen.height);
Sec.moveTo(0,0);
window.close();
}
window.onload = telacheia;
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei o que possa estar acontecendo, mas o teu código fica avisando no IE que a janela vai ser fechada, e do jeito que eu fiz não avisa.

 

Não estou entendendo muito bem qdo você fala pra eu abrir a página mãe com JS. Como eu faria isso se a página mãe é a primeira página a ser aberta? Se eu precisar de uma página pra chamar a página mãe, vou andar em círculos, pois vou ter uma página aberta, pra abrir a segunda, que chama a terceira e depois fecha a segunda...... não ficou do mesmo tamanho?

Compartilhar este post


Link para o post
Compartilhar em outros sites

por isso que eu escrevi página mãe entre aspas :[

a unica solução de fazer isso(fechar a janela "MÃE") é chamar a mesma

via javascript

 

ou então faça isso:

<script>
function telacheia() {
var Prop = "scrollbars=yes, toolbar=no, location=no, resizable=yes, directories=no, status=yes, menubar=no";
var Sec = window.open("about:blank","Sec",Prop);
Sec.focus();
Sec.resizeTo(screen.width,screen.height);
Sec.moveTo(0,0);
if(window.opener != null){
window.opener = "Sec";
}else{
//comando por firefox
}
window.self.close();
}
window.onload = telacheia;
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.