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? |
Evo, konačno sve radi, nacinculirano, pipavo, ali radi :-)
Otvarač samo otvara editor: Kôd:
function openEditor () Kôd:
function moveBottomRight_openPreview () |
Citat:
Preview Flash ima promenljive dimenzije dela koji treba da se prikaže (sam Flash je veći), a prozor treba da prati dimenzije tog dela. Recimo, može da sadrži sliku koju strechujem na određene dimenzije, a PopUp je okvir slike - kao kad se urami i kači na zid, mora da je pod konac :-) ... Ja sam zadovoljan, proradilo je sve, kod je mogao možda da bude i optimalniji, ali ipak radi, a pošto treba da se ide dalje, ovo je najbolje rešenje na svetu :-) Još jednom da ponovim, primer koji radi je na http://xlt.viaphoenix.net/dpt_0000001/ (ono dpt ima veze s ovim forumom, a broj je jednostavno brojač problema :-)) Hvala na podršci. |
Vreme je GMT +2. Trenutno vreme je 11:16. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.