• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Bruno

Lost Session no Pop-Up em IE6

5 mensagens neste tópico

Não sei bem em que categoria isto entra, a questão é que perco a SESSION quando abro um pop-up no IE6! (no IE7 e nos restantes browsers isso não acontece)

Pelo que andei a ver a correcção que a MS sugere é instalação do IE7... mas isso não é bem a solução que procuro!

Alguém sabe solucionar este problema?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O problema não me parece vir daí (porque é um bug assumido pela MS)... mas ok:

function popup(width, height, url) {
if (!newwindow.closed && newwindow.location) {
	newwindow.location.href = url;
} else {
	newwindow = window.open(url,'name','height='+height+',width='+width+', scrollbars=1');
	if (!newwindow.opener) newwindow.opener = self;
}
if (window.focus) newwindow.focus();
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Viva!

Já me aconteceu isso várias vezes. Mas o que de facto acontece, ou me aconteceu foi, a nova janela (popup) assume outra sessão de outra janela do browser diferente da que estamos correntemente a usar. Isto pode parecer muito estranho, mas realmente já consegui simular isto no IE6. Mas isto só me acontece quando tenho um processo IE "crachado".. por exemplo, um "crache" provocado por um add-on ou um activeX qualquer. (por exemplo, o Crystal Reports viewer)

Sem ter nenhum processo IE "crachado" nunca me aconteceu.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A própria MS já confirmou, quando se abre uma nova janela do IE (seja pop-up ou não), esta pode não ficar com o mesmo processo do que a janela inicial. Pequena demonstração: abrir um IE clicando num atalho (ambiente de trabalho, menu iniciar, etc.) causa sempre a criação de um novo processo, mas se usarem o atalho "Ctrl+N" (ou forem ao menu ficheiro->nova janela) dentro do IE, aparentemente não será criado um novo processo.

Solução (se estiveres a usar PHP, e assumindo que estamos a falar da mesma coisa):

passa o SESSIONID no url do pop-up, qualquer coisa tipo xpto.php?phpsessid=<sessionid>.

Verifica o nome da sessão, acho que por defeito é PHPSESSID, pode ser alterado.

Suponho que isso deve resolver o problema.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora