JavaScript e Frames

13 respostas
U

Pessoal, não sei se este é o local adequado, mas estou com o seguinte problema:

No meu index.jsp, estão definidos 3 frames: FrameSuperior, FrameEsquerdo e FrameCentral.

Até aí tudo bem.

No FrameSuperior, tenho uma imagem que quando clicada, preciso fechar a janela atual ( o index.jps q possui os frames ) e abrir uma nova janela direcionada para um determinado link.

Para fechar, estou usando o comando
top.window.close

Agora, após fechar, como posso abrir uma outra janela?

Obs: Quando vou fechar o browser aparece uma mensagem de confirmação: (“A página da web que você está visitando está tentando fechar Fechar a janela. Deseja Fechar a janela?”) … COMO TIRAR ESTA CONFIRMAÇÃO ? … e após fechar redirecionar para uma nova página… sem frames.

13 Respostas

D

Você pode abrir uma nova janela ANTES de fechar a atual.
Essa mensagem é do browser e não há nada que você possa fazer.
Porque então não usar a própria janela para abrir o que você quer? Abre com target="_top".

F

Faça o que o Daniel disse, abra a outra janela antes de fechar a atual

Undeclared Identifier:

Obs: Quando vou fechar o browser aparece uma mensagem de confirmação: (“A página da web que você está visitando está tentando fechar Fechar a janela. Deseja Fechar a janela?”) … COMO TIRAR ESTA CONFIRMAÇÃO ?

Não tem como, a não ser que vc abra um pop-up e coloque a aplicação nele dai não tem problema.

Undeclared Identifier:

… e após fechar redirecionar para uma nova página… sem frames.

Não entendi… como vc vai redirecionar para outro lugar se vc fechou a janela?

F

Ele falou pra você, ao invés de fechar a janela, carregar a outra página na mesma janela usando um target “_top”, o que vai carregar a nova página sem frames na mesma janela.

window.open("paginaNova.html","_top","");

Ou ainda:

top.location="paginaNova.html";

Ou então você cria uma function que contém os comandos para fechar a janela onde você está e abrir a nova. O function será carregado na memória ram antes de executar e mesmo após o fechamento da janela continuará executando os comandos (abrir nova janela, etc…)

O navegador só fecha a janela via window.close sem avisar se a sua janela for um popup, ou seja, tiver sido aberta via window.open.

U

Pessoal, consegui fechar a janela sem exibir a mensagem de confirmação.
Segue:

<html>
<head>

<body >

// utilize antes ou depois do "body"
<object id="WB" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">
</object>

//para fechar automático use:
<script>
// você pode utilizar um window.open() aqui
javascript:WB.ExecWB(45,2); // comando que fecha a janela s/ confirmar
</script>

</body>
</html>
D

Isso funciona no FireFox ou mesmo em Linux?

U

Pessoal, utilizei a técnica do Target = “_Top”;
Gostaria de sabes quais as diferenças entres as opções do Target:

_Top
_Blank (esse eu já sei)
_Self
_Parent

Sou novato… :wink:

F

Testei aqui não e funcionou no Firefox. E nem no IE com o esqueminhas de segurança ativados.

F

Undeclared Identifier:
Pessoal, utilizei a técnica do Target = “_Top”;
Gostaria de sabes quais as diferenças entres as opções do Target:

_Top
_Blank (esse eu já sei)
_Self
_Parent

Sou novato… :wink:


Dá uma olhada aqui no site da W3C
http://www.w3.org/TR/html4/types.html#type-frame-target
Lá tem tudo sobre HTML

U

Não sei se funciona (Acredito que naum)
Segue o link da fonte: http://www.phpbrasil.com/scripts/script.php/id/1203

U

furutani:
Undeclared Identifier:
Pessoal, utilizei a técnica do Target = “_Top”;
Gostaria de sabes quais as diferenças entres as opções do Target:

_Top
_Blank (esse eu já sei)
_Self
_Parent

Sou novato… :wink:


Dá uma olhada aqui no site da W3C
http://www.w3.org/TR/html4/types.html#type-frame-target
Lá tem tudo sobre HTML

Valeu !!! :wink:

F

:shock:

Eu preciso anotar isso

escreve escreve escreve

_top: janela principal.

_blank: janela nova.

_self: a própria janela. Se estiver dentro de um frame, abre no mesmo lugar (dentro do frame).

Se você usou <base target="_blank"> dentro do head, definiu que todos os links devem ser abertos em nova janela. Nesse caso, se você quiser que um link abra na mesma janela deverá usar target="_self".

_parent: janela pai.

Parece com “_top”, mas não é. É a janela pai de um frame. No caso de uma página de frames simples tem o mesmo efeito, mas se a sua janela de frames estiver dentro de outra página de frames o “_parent” fará que a sua página abra ainda dentro do frame mais externo (nesse caso o pai é um dos frames da janela de frames mais externa).

Entendeu?

U

Entendi… :stuck_out_tongue:
Isso isso isso isso isso !!! :wink:

D

Pessoal, estou com um probleminha…
Tenho uma página com dois frames: o de cima mostra um formulário e o de baixo mostra a imagem que está vinculada a esse formulário.
Fiz uma função javascript que faz rolar automaticamente o frame da imagem na medida que vai mudando de campo no formulario (frame de cima).
Eis a função:

function scrollcombo(left,top, nomeFrame){
      parent.frames[nomeFrame].scrollTo(left,top);
   /* Faz um scroll no frame rigth*/
}

E eu chamo essa função com onFocus em cada campo do formulario.

Porém, quando essa função é executada, dá um erro de javascript “Acess denied”.
Acho que algo está bloqueado nesse frame, alguém poderia me indicar o que é?

Criado 14 de julho de 2005
Ultima resposta 19 de jul. de 2005
Respostas 13
Participantes 5