Ir para conteúdo

POWERED BY:

Arquivado

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

Marcos Coelho2

[Resolvido] Session Asp

Recommended Posts

Eu quero usar uma session para ler somente uma vez um codigo javascript

Vou passar o codigo pra você entenderem

 

If Session("pop") = false Then %>
<script type="text/javascript">
window.onload = function()
{
        document.onclick = function( e )
        {
                window.open( 'http://www.google.com.br' );
        }
}       
</script>

	<%end if%>
<% Session ("pop") = true %>

 

Oq eu estava imaginando é quando uma pessoa clicar em algo na tela abre uma pop-up e depois pode clicar em qualquer lugar que nao abre mais.

 

Entao me sugeriram no forum fazer isso atraves de session.

 

Como posso fazer para ler esse codigo javascript apenas uma vez por usuario?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com session fazendo do jeito que esta querendo a session so vai funcionar enquanto o usuário ficar ativo no site, enquanto ele ficar ativo sem fechar o navegador a session ficara ativa.

 

Para isso você terá que fazer o seguinte...

 

<% 
If Session("pop") <> true Then

    Response.Write "<script type=""text/javascript"">" & vbcrlf
    Response.Write "alert('abrir popup');" & vbcrlf
    Response.Write "window.onload = function()" & vbcrlf
    Response.Write "{" & vbcrlf
        Response.Write "document.onclick = function(e)" & vbcrlf
        Response.Write "{" & vbcrlf
            Response.Write "window.open('http://www.google.com.br');" & vbcrlf
        Response.Write "}" & vbcrlf
    Response.Write "}" & vbcrlf
    Response.Write "</script>"

    Session("pop") = true

end if
%>

Coloquei um alert no javascript para ter uma real noção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não funcionou...

so funciona se eu trocar Session("pop") <> true para Session("pop") = true

mas ai abre toda hora uma janela.

 

Mas a questão doq você falou de funcionar apenas qdo o usuario esta ativo no site sem fechar o navegador, é assim mesmo que eu quero que funcione.

 

Tem como abrir a janela apenas no primeiro click do usuario no site?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta funcionando sim :) acabei de testar aqui novamente e funcionou, note que ao entrar exibe um alert... atualize o navegador e repare que não voltara.... coloquei o alert pois seu code para abrir o popup não estava funcionando no chrome... nem testei em outros navegadores, imaginei que o problema era o seu javascript com meu navegador.

 

Mas ta funcionando sim, provavelmente é o seu javascript.

Compartilhar este post


Link para o post
Compartilhar em outros sites

realmente esta funcionando , testei também

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta funcionando, mas como posso fazer para abrir somente uma vez a janela?

Pq quando você vai clicando na pagina vai sempre abrindo mais janelas

 

O problema é fazer parar de abrir as janelas antes de atualizar a pagina.

 

Me deram a dica que isso so funcionaria com cookies

Mas tentei aki com exemplos que encontrei na internet mas tmb nao funcionou

 

Voces acham que com cookies seria melhor de fazer e eu conseguiria abrir somente uma janela por usuario como estou querendo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim marcos:

 

<script type="text/javascript">
var abre = true;

window.onload = function(){

    document.onclick = function( e ){
		if(abre==true){window.open( 'http://www.google.com.br' );abre=false;}
	}
}       
</script>

não precisa criar session ok.

 

na verdade vai ter que criar session para identificar nas outras páginas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

if(abre==true){window.open( 'http://www.google.com.br' );abre=false;window.focus();}

 

veja umas opções, ocorrem conflitos entre

 

this.window.focus()

When used in-line in the body tag, 'this' refers to the body element.

In a standard DOM, the body element doesn't have a window property;

trying to call a method of a non-existent property will result in a

script error.

 

window.focus()

This calls the focus method of the window object, which should work in

standards-compliant browsers though it may not have any effect. Some

browsers provide user configurable settings so that users can prevent

script from raising or lowering windows.

 

this.focus()

This will attempt to call the focus method of the body element. The

W3C DOM 2 HTMLBodyElement interface doesn't define a focus method,

therefore it's likely to fail in most (if not all) browsers.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O topico esta tomando outro rumo, aqui é seção asp, em caso de duvidas sobre javascript poste na seção javascript que concerteza terá mais resultados ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quero dar foco pro meu site

 

Não sei porque mas nenhuma das 3 funcionou

 

atualmente os navegadores vem bloqueando essas funções por padrão, veja isso:

 

Hi,

>

I am confused about the differences between this.window.focus(),

window.focus(), and this.focus().

>

I want to use the calls in a <body onload="..."tag. What are the

differences between these forms that may make one succeed and another

fail? In particular, this.window.focus() fails in Opera 9.10 with an

"object not found", and windows.focus() succeeds in Opera 9.10, Firefox

2.02, and IE 7.

>

Roger

You probably want to use

 

if(self.focus)

{

self.focus();

};

 

and then you may not need to do so when a secondary window is created

for the first time... a very typical error done in many scripts.

 

Pretty much every .focus() call has become suspect nowadays since a wide

majority of browsers in use these days are tab-capable browsers and each

and all the browsers you mention (Opera 9.10, Firefox 2.02, and IE 7)

allow users (in preferences settings) to cancel the raising of windows

and can force the opening of new secondary windows into the current tab

or into a new tab.

 

Gérard

o que você pode fazer é determinar o posicionamento da janela, se você está fazendo isso pra deixar contando tempo de acesso e essas coisas, coloca num iframe a página, define o tamanho dela em 1x1 e ninguem vai ver a janela e ela vai ser carregada do mesmo jeito, porque pelo que parece você quer abrir uma propaganda ou um site e não quer q o visitante veja a janela de imediato.

 

se não for isso, e deseja outra alternativa... fale mais sobre o q tu tah afim de fzr ai

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.