Cinculiranje PopUp-a
Neko možda i ne voli PopUp-e, ali mora im se odati priznanje da su lepi i efektni (kad je isključen PopUp blocker, naravno :-))
Imam sledeći scenario: 1) dolaskom na stranicu, treba da se otvori prozor koji prima sadržaj 550 x 400 px, da se otvoreni prozor smesti u donji desni ugao ekrana i da se zatvori otvarač; 2) po učitavanju sadržaja prozora, treba da otvori još jedan prozor (gornji levi ugao, to je valjda default pozicija); 3) po učitavanju sadržaja u drugi prozor utvrđuju se dimenzije drugog prozora i treba da se postavi da on tačno prima sadržaj; ... n) tokom rada aplikacije u prvom prozoru mogu da se menjaju vrednosti dimenzija drugog prozora, nakon izmene vrednosti drugi prozor treba da se prilagodi novim dimenzijama. Sadržaji prozora su Flash aplikacije, a igru oko prozora treba da odradi JavaScript. Normalno, tražim cross-browser rešenje. (... nešto ću još da istestiram, pa kačim i zapažanja o dosadašnjem rešenju i uočenim konkretnim nedostacima |
Jel ovo neko pitanje koje ne kapiram ili neko "obećanje"? :)
Što se tiče PopUp, ne samo da ih ljudi ne vole, već totalno suprotno, mrze ih i plaše ih se. Da, plaše ih se oni "slabiji" korisnici jer ih uplaši kad god se desi na računaru nešto što oni nisu "uradili"... a ti bi da otvoriš 3 komada... nc nc nc... :) |
Da, baš sam provokator, da znaš :-) (kad već nisam dobar diplomata da izbegem PopUp-e...
Evo, primer je na http://xlt.viaphoenix.net/dpt_0000001/ (testiram na FF i IE, a kad stignem proveriću u svim ostalim browserima ;-) - hoću da kažem, ako neko koristi neki treći browser, neka se oseti slobodnim da istestira i prijavi ovde šta i kako radi.) Tačka 1: Kôd:
function openEditor_2downRight_closeWindow () --- window.moveTo poznaju i FF i IE, ali je problem što IE ne konta window.outerWidth i window.outerHeight, pa se tu ne dešava ništa značajno. FF ovo odradi perfektno, prozor se smešta u donji desni ugao slobodnog ekrana (iako se ipak zbunio kad sam testirao na sistemu s 2 monitora, to buni sve redom). - Postoji li način da se IE prozor smesti u donji desni ugao? (ovo je prilično bitno, jer se otvaraju 2 prozora, te se teranjem u naspramne uglove ekrana minimalizuje moguće preklapanje prozora) --- Za zatvaranje prozora (otvarača) koristio sam foru imenovanja openera, ali ta prevara prolazi samo kod IE, FF otkulira window.close bez pardona. - Postoji li način da se zatvori stranica kod FF? (ovo nije baš toliko bitno, ali originalna stranica gubi funkciju kada se otvori prvi PopUp, pa je najkomotnije da se ubije, ako može) ... (ostale tačke kad dođem do daha... dotle ostaju 2 konkretna pitanja, zna li ko odgovor? |
Koliko sam ja skontao. NE RADI.
prvo otvori prozor ( taj 500xnesto ) i stavi ga dole desno. Zatim drugi koji prvo ide preko skoro celog ekrana a zatim ode gore levo i malko se poglopi sa donjim. Skoro da sam se uplasio. ;) edit: malo sam pobrkao levo i desno, sad sam ispravio, nikada ne procitam 2x pa stalno editujem. |
Kôd:
window.outerWidth Kôd:
document.body.clientWidth Kôd:
screen.width |
Citat:
Tačka 2: Kôd:
function openPreview () resizable ostaje za vreme testiranja, da mogu da vidim koliko sam omašio u cinculiranju dimenzija drugog prozora. Inače, po bluesmanovoj primedbi o strašljivim korisnicima, ukinuo sam automatsko otvaranje prvog prozora - sada se otvara aktiviranjem linka, uz opis daljeg dešavanja (strašljivi su upozoreni šta ih čeka... :-)) Takođe sam izbacio zatvaranje otvarača, jer ovaj link može da se nalazi na nekoj korisnoj stranici pa je šteta ubijati po svaku cenu (ipak i dalje stoji pitanje o zatvaranju stranice iz FF). (... opet odoh da testiram, najveća mi muka s trećom tačkom... |
Citat:
document.body.clientWidth je isto što i window.innerWidth, a treba mi ono što odgovara outeru :-( Citat:
Citat:
|
Citat:
|
Eh, taj IE je čedo blesavo samo za sebe, neverovatno :-)))
Meni su dokumenti u quirks modu, pa onda koristi jedan DOM, a obično koristi neki matoriji. (i tako su komentari poslednjih par poruka quirks-relativni... Evo, ovi quirksi me hintnuli... http://www.quirksmode.org/js/winprop.html ... konačno - Tačka 3: Kôd:
function resizeWindow (width, height) (... i sada, rekao bih, metod pipanja u mraku može da reši i pozicioniranje u donji desni ugao, zar ne? Odoh da proverim... |
Kôd:
window.document.body.offsetWidth HTML kôd:
<script> Uzmes lepo ovako: HTML kôd:
<script> ako uradis recimo resizeTo (800, 600) dobices na primer: document.body.clientWidth = 772 window.document.body.offsetWidth = 792 to je zbog bordera i ostalih margina... Meni nije jasno zasto ti je toliko bitna sirina i visina u pixel preciznosti? |
Vreme je GMT +2. Trenutno vreme je 06:16. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.