Autor | Zpráva | ||
---|---|---|---|
ondra15 Profil |
#1 · Zasláno: 1. 7. 2010, 15:30:52
Chci se zeptat, jak docílím toho (zřejmě pomocí JS), když otevřu nové okno třeba pomocí window.open, aby zůstalo stále otevřené (focusované) i při kliknutí na jinou stránku než ze které bylo okno otevřené. Myslím, že by to šlo přes window.focus() , ale jak přesně netuším...
Předem díky |
||
Petr ZZZ Profil |
#2 · Zasláno: 1. 7. 2010, 16:27:40
Nové okno lze otevřít i bez JS, ale tak či onak se vnucování nového okna moc nedoporučuje a většinou je lepší nechat to na uživateli.
|
||
imploder Profil |
#3 · Zasláno: 1. 7. 2010, 16:28:07
ondra15:
window.focus v DOM teoreticky umožňuje hlídat, jestli okno má fokus a pokud nemá (uživatel se přepnul jinam), tak mu ho přidělit. Hlídání, jestli má okno fokus je bez problému, přidělování fokusu ale funguje jenom v IE, a to hodně hloupým způsobem. Můžeš zkusit kód: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>javascriptové odchytávání fokusu okna prohlížeče</title> <script type="text/javascript"> function ztratilo_fokus() { window.focus(); } function sleduj_fokus() { window.onblur = ztratilo_fokus; } </script> </head> <body onload="sleduj_fokus()"> ... </body> </html> Ve Firefoxu to nic nedělá (ze zjevných důvodů - takové chování je za hranicí toho, co uživatel stránkám běžně dovolí), v IE to funguje, ale hodně hloupě - zablokuje to část ovládacích prvků prohlížeče - nejde pak např. psát URL, protože přesun kurzoru do políčka URL bere IE jako ztrátu fokusu okna. Doporučuju žádné okno "natvrdo" nedělat. |
||
imploder Profil |
#4 · Zasláno: 1. 7. 2010, 16:46:23
Je to taky skvělé na nasrání uživatele Safari (aspoň jeho windowsovské verze), který pak zamíří na stránku s neplatným certifikátem. Ukáže se dialog s otázkou, jestli pokračovat, a třemi tlačítky, ale ani na jedno z tlačítek ani na křížek se nedá kliknout, protože skript pořád běží a krade tomu dialogovému okýnku fokus. Nezbývá než Safari násilně ukončit ze správce úloh.
|
||
Časová prodleva: 14 let
|
0