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

jcfr

abrir janela em blank com php ou javascript

Recommended Posts

jcfr

boas pessoal, tenho este codigo

echo("<script language=\"javascript\">");
echo("top.location.href = \"pagina.php\";");
echo("</script>");

para a página em questao ser reencaminhada para outra... mas queria fazer algo deste genero abrindo uma janela em blank entao alterei para:

echo("<script language=\"javascript\">");
echo("window.open('pagina.php', '_blank');");
echo("</script>");

realmente funciona mas em muitos computadores será bloqueado porque é detectado como pop-up...

há alguma forma de o fazer sem ser como pop-up? eu so quero mesmo que abra em _blank, num separador ou janela nova como se faz com:

<a href="pagina.php" target="_balnk">pagina</a>

mas de forma a que nao tenham de carregar em nada, que seja automatico...

Share this post


Link to post
Share on other sites
mjamado

Pop-up: janela ou área de interface que surge sem interacção do utilizador.

... eu so quero mesmo que abra em _blank, num separador ou janela nova (...) mas de forma a que nao tenham de carregar em nada, que seja automatico...

Parece-me uma óptima definição de pop-up...  ;)

Long story short: não é possível, vai ser sempre apanhado pelo pop-up blocker.


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Share this post


Link to post
Share on other sites
jcfr

ok tens razão mas existe alguma forma de fazer abrir um separador com se faz em html? em html com o href="pagina" target="_blank" nunca é bloqueado...

há alguma forma de fazer o mesmo em javascript ou php ou mesmo com codigo html mas sem ter de se carregar em nada?

Share this post


Link to post
Share on other sites
mjamado

ok tens razão mas existe alguma forma de fazer abrir um separador com se faz em html? em html com o href="pagina" target="_blank" nunca é bloqueado...

há alguma forma de fazer o mesmo em javascript ou php ou mesmo com codigo html mas sem ter de se carregar em nada?

Não, porque os pop-up blockers baseiam-se precisamente nisso: se a acção teve como origem uma acção do utilizador (um clique, um enter, whatever) não bloqueia; se não, bloqueia.

E mesmo assim, de vez em quando ainda tripam, mesmo quando é clicado.


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Share this post


Link to post
Share on other sites
mjamado
Modal window não se aplicaria?

Vinha cá dizer duas coisas, e essa era uma delas...  :cheesygrin:

A outra, não é algo que eu recomende, não sei se os popup blockers apanharão ou não. Em teoria, não, mas os tipos que os fazem também não devem ter nascido ontem...

Basicamente, é ter um <a> algures na página, se quiseres que seja mesmo "vazio", com o onclick para abrir numa nova janela, assim:

<a onclick="window.open(this.href); return false;" href="http://www.xpto.com/"> </a>

Depois, forças o evento por JavaScript. Aqui há um catch, porque cada browser tem a sua maneira de invocar os eventos nativos (como este). No IE é com document.createEventObject, no Firefox é com document.createEvent("HTMLEvents"). Nos outros, deve piorar (e, daí, talvez não, mas é investigar).

Mas, tal como disse, não recomendo - mas isto sou eu e o meu ódio aos pop-ups...


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Share this post


Link to post
Share on other sites
Augustosigoncalves

A melhor forma é utilizar o <div> para criar uma janela sem ser de popup com ajuda do javascript faz aparecer e desaparecer conforme as necessidades.

exemplo:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>

<title>Novas Escolhas</title>

<meta name="author" content="augusto" >

<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

<style>

#publicidade {

position: absolute;

width: 728px;

height: 90px;

text-align: center;

left: 5%;

bottom: 1%;

background-color: #EFEDFC;

z-index:1;

}

#fechar {

position: absolute;

text-align: center;

left: 728px;

top: 5px;

z-index:2;

background-color: transparent;

font-size: 10px;

}

#zse{

width: 100%;

height: 100%;

right: 0;

}

</style>

<script >

function fechar(){

document.getElementById('publicidade').style.display = 'none';

}

</script>

</head>

<body>

<div id="publicidade">

<iframe src='http://www.novasescolhas.pt' frameborder='0' id="zse" ></iframe>

<div id="fechar">

<a href="javascript: fechar();"> [Fechar] </a>

</div>

</div>

</body>

</html>

Este exemplo funciona e com ajuda do javascript pode criar muitos efeitos visuais como movimentar a janela, etc, etc

Edited by Augustosigoncalves

Share this post


Link to post
Share on other sites
guarana1

A melhor forma é utilizar o <div> para criar uma janela sem ser de popup com ajuda do javascript faz aparecer e desaparecer conforme as necessidades.

exemplo:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>

<title>Novas Escolhas</title>

<meta name="author" content="augusto" >

<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

<style>

#publicidade {

position: absolute;

width: 728px;

height: 90px;

text-align: center;

left: 5%;

bottom: 1%;

background-color: #EFEDFC;

z-index:1;

}

#fechar {

position: absolute;

text-align: center;

left: 728px;

top: 5px;

z-index:2;

background-color: transparent;

font-size: 10px;

}

#zse{

width: 100%;

height: 100%;

right: 0;

}

</style>

<script >

function fechar(){

document.getElementById('publicidade').style.display = 'none';

}

</script>

</head>

<body>

<div id="publicidade">

<iframe src='http://www.novasescolhas.pt' frameborder='0' id="zse" ></iframe>

<div id="fechar">

<a href="javascript: fechar();"> [Fechar] </a>

</div>

</div>

</body>

</html>

Este exemplo funciona e com ajuda do javascript pode criar muitos efeitos visuais como movimentar a janela, etc, etc

Acho que passado 4 anos, ele chegou lá sozinho. :)

  • Vote 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.