Ir para conteúdo

Arquivado

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

quintelab

[Resolvido] Como abrir popup sem pedir autorização

Recommended Posts

A principio a pergunta parece boba. Mas como esses botões do facebook, twitter e google+ consegue abrir um popup sem que o usuário tenha que autorizar?

 

JavaScript não é minha praia, mas não achei nada desse tipo. Tenho um cenário idêntico, tenho um botão e preciso que abra um popup. Modal não serve, pois uso redirecionamento de páginas e nenhum modal que testei suporto isso, sei la por qual motivo.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mas como esses botões do facebook, twitter e google+ consegue abrir um popup sem que o usuário tenha que autorizar?
qndo ele clica, ele está autorizando.

 

o popup só será bloqueado, se você abrir sem nenhuma interação(spam).

Qndo o usuário clica em um compartilhar ou tweetar da vida, ele está autorizando explicitamente abrir o popup. Entendeu ?

 

 

Modal não serve, pois uso redirecionamento de páginas e nenhum modal que testei suporto isso, sei la por qual motivo.
ai você teria q fazer tudo com ajax.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na minha cabeça eu tinha isso também William, mas devo estar fazendo algo errado então:

http://boopromo.com.br/gadgetparticipar.aspx?promocao=1

 

Quando clico no botão ele pede confirmação do popup, é um window.open, a diferença é que crio e chamo a função dentro do c#. Vou fazer um teste tudo via cliente. Mas se possível de uma olhada no meu teste William.

 

Abraços...

 

 

[edit]

Realmente quando executo do lado do servidor ele pede confirmação.

Quando executo do lado do servidor o código gerado é este:

<script type="text/javascript">
//<![CDATA[
window.open('SingInTwitter.aspx?page=AutorizadoExterno', 'booPromo', 'menubar=1,resizable=1,width=350,height=250');//]]>
</script>

 

Tem alguma diferença para este:

<script type="text/javascript">
       function testebruno() {
           window.open('SingInTwitter.aspx?page=AutorizadoExterno', 'booPromo', 'menubar=1,resizable=1,width=350,height=250');
       }
   </script>

 

??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando executo do lado do servidor o código gerado é este

ok, mas cadê a chamada, o 'onclick' ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Infelizmente não sei como o asp.net trata isso William, na verdade sei em partes. Ele gera alguns arquivos scripts automaticamente.

Mas de qualquer forma acho que foge da sua área. Já vi que o problema é no asp.net, vou ver se consigo com json.

 

Valeu mano, pode dar como resolvido.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum... foge sim, mas por mais que o asp.net faça mágica, ele uma hora ou outra vai gerar um html e um js 'básicos'.

 

em algum lugar tem o onclick só preciso ver isso, e entender onde exatamente essa tag script q você postou está aparecendo.

gera um link online totalmente 'server-side', e poste aqui, ai consigo lhe dizer.

 

[]s!

Compartilhar este post


Link para o post
Compartilhar em outros sites
mas por mais que o asp.net faça mágica, ele uma hora ou outra vai gerar um html e um js 'básicos'.

FAlou tudo. O desenvolvedor, por mais que use ferramentas mágicas, sempre tem que ter controle do seu HTML gerado (senão pode ocorrer até falhas em segurança caso use um componente de terceiro).

 

Posta o link ae ou dá um ctrl+f por testebruno() no código fonte gerado.

 

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

Atualização:

 

Vixxxx maria, dá uma olhada no link passado William.

O asp.net gera um código praticamente ilegível. Cheio de várias chamadas. É difícil debugar erros javascript ou HTML.

Acho que esse problema é só com os caras do asp.net mesmo como o quintelab falou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é que ele gera muito código criptografado, justamente para tentar garantir esta parte de segurança. Sem contar as ViewState que ele gera.

 

Nesse exemplo que esta no ar agora: http://boopromo.com.br/gadgetparticipar.aspx?promocao=1

 

Ambos os botões são server-side. A diferença é que no primeiro eu crio a função javascript e chamo ela.

No segundo eu testei só chamar a função pelo servidor de um javascript ja escrito no cliente.

 

Ambos tem o mesmo resultado.

De qualquer forma já estou montando um botão com uma chamada json para o servidor, solucionou meu problema.

 

Abraços...

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.