Skywriter Posted May 26, 2011 Share Posted May 26, 2011 Pessoal, precisava aqui de uma ajuda em PHP ou Javascript. Acontece o seguinte: tenho uma página com vários links, em que cada link vai abrir num novo separador/janela. Até aqui tudo bem. O que acontece é que os browsers (a não ser que configurados de outra maneira) passam logo o foco para a janela nova. O que eu pretendia era algum pedaço de código que me permitisse abrir os links num novo separador mas mantivesse o foco na minha janela actual. Sim, eu sei que bastaria simplesmente configurar o browser para isso, mas quero que isto aconteça só nesta página em especifico. Any ideas? Já experimentei com o window.focus mas não consegui nada, ou então estou a fazer mal. Qualquer ajuda será bem-vinda. ;) Link to comment Share on other sites More sharing options...
hda Posted May 26, 2011 Share Posted May 26, 2011 (edited) tenta window.open(url); self.focus(); nunca foi coisa que precisasse de fazer.. ie 9: popup bloqueado chrome 11: popup bloqueado opera 11: popup bloqueado Edited May 26, 2011 by hda Link to comment Share on other sites More sharing options...
Mini0n Posted May 26, 2011 Share Posted May 26, 2011 Na janela que é aberta, tenta colocar opener.focus(); Link to comment Share on other sites More sharing options...
Skywriter Posted May 26, 2011 Author Share Posted May 26, 2011 tenta window.open(url); self.focus(); nunca foi coisa que precisasse de fazer.. ie 9: popup bloqueado chrome 11: popup bloqueado opera 11: popup bloqueado Não dá... Na janela que é aberta, tenta colocar opener.focus(); Os links são para sites externos. Link to comment Share on other sites More sharing options...
dreamer Posted May 26, 2011 Share Posted May 26, 2011 tenta este : http://www.htmlgoodies.com/beyond/javascript/article.php/3471241/So-You-Want-A-Pop-Under-Window-Huh.htm#think Link to comment Share on other sites More sharing options...
hda Posted May 27, 2011 Share Posted May 27, 2011 tenta window.open(url); self.focus(); nunca foi coisa que precisasse de fazer.. ie 9: popup bloqueado chrome 11: popup bloqueado opera 11: popup bloqueado Não dá... não dá como? é bloqueado pelo browser, certo? Link to comment Share on other sites More sharing options...
Skywriter Posted May 27, 2011 Author Share Posted May 27, 2011 Tipo, eu nao quero popups. Acho que ninguém entendeu o que preciso. :lol: Quando chegar a casa explico melhor. Link to comment Share on other sites More sharing options...
Mini0n Posted May 27, 2011 Share Posted May 27, 2011 Queres um link teu que te abra uma tab no browser mas que mantenha a tua janela aberta, certo? Link to comment Share on other sites More sharing options...
camurso_ Posted May 27, 2011 Share Posted May 27, 2011 window.open() E na janela "filha" this.window.parent.focus(); Link to comment Share on other sites More sharing options...
Mini0n Posted May 28, 2011 Share Posted May 28, 2011 camurso, ele já disse que a janela "filha" não é dele. Imagina que ele quer ter um link no site dele que abre o Google num tab novo, mas quer que o tab dele se mantenha como activo. <!DOCTYPE html> <html> <head> <title>Window.Focus</title> <body> <a href="#" class="link" onclick="tabOpen()">Google</a> <script type="text/javascript"> //<![CDATA[ function tabOpen() { window.open('http://www.google.com'); window.focus(); return false; } //]]> </script> </body> </html> Isto funciona-me bem no Firefox e no Chrome. No IE9 não... Link to comment Share on other sites More sharing options...
Nazgulled Posted May 28, 2011 Share Posted May 28, 2011 (edited) O que tu queres não é possível da forma que tu provavelmente gostavas, se há alguma forma de dar à volta as coisas, não sei. O Javascript corre no lado do cliente relativamente à tab aberta que para todos os efeitos é uma "janela individual". Não podes aceder à "janela" A através do JS na "janela" B. Isso apresentaria sérios riscos de segurança para não falar que seria um comportamento que os utilizadores não estão à espera. Eu ficaria extremamente chateado se quisesse abrir explicitamente uma nova tab/janela no foreground e tu forçasses a mesma a abrir no background por mim, não faz sentido. Claro que se for uma cena só para teu uso, tudo bem, mas os browsers são para o povo lol. Para isso ser possível, cada browser teria de implementar funções próprias para gerir as tabs dessa forma e não me parece que isso estará nos planos de alguém no futuro mais próximo pelas razões supra mencionadas (e provavelmente outras). Active tabs (tabs with focus) cannot be affected by scripts that run in inactive or background tabs. Fonte: http://msdn.microsof...y/ms537636.aspx O exemplo do Mini0n, se realmente funciona, não devia. Testei deste lado no Firefox 4 e não funcionou, a tab do Google fica sempre activa. Edited May 28, 2011 by Nazgulled Link to comment Share on other sites More sharing options...
Coutinho77 Posted May 28, 2011 Share Posted May 28, 2011 O que ele quer é basicamente o funcionamento que acontece quando fazemos CTRL+clique. Acho que é possível forçar esse comportamento sem falhas de segurança. Link to comment Share on other sites More sharing options...
Nazgulled Posted May 28, 2011 Share Posted May 28, 2011 Forçar esse comportamento já é por si só uma falha de segurança. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now