Referenca na div koji se nalazi u iframe-u
Situacija je sledeca:
U stranu na jednom domenu se nalazi iframe ciji se sadrzaj "vuce" sa drugog domena. Visina tog iframe-a nije fiksna i zavisi od jednog div-a koji se nalazi u njemu. Konkretnije, u pitanju je anketa koja se "vuce" sa jednog servera i ugradjuje na vise razlicitih stranica na razlicitim serverima. Problem je u tome sta postojeca implementacija toga jednostavno ucita iframe koji ima neku sirinu u visinu (koja je uvek ista) i onda se desava da anketa bude veca od samog iframe-a sto nikako nije prijatno za oko :) Pokusao sam da javascript-om dodjem do visine div-a u kome se nalazi anketa i onda dinamicki promenim visinu iframe-a na tu vrednost ali to nije dalo rezultata. Svaka pomoc ili ideja je vise nego dobrodosla. |
Mislim da iz security razloga ne mozes da pristupis elementima sa drugih domena koji su ucitani u iframe.
|
Praksa je i meni to pokazala.
To znaci da moram da menjam pristup, a trenutno sam bez neke ideje. Fora je i u tome sto je taj servis vec "zavrsen" ali ne radi kako treba, pa mora da se ispravi. E sad, resenje je da u admin panelu gde se formira anketa, ocitam visinu tog diva, snimim u bazu i onda kada se "povuce" taj javascript on preko dom-a napravi iframe koji ce imati odgovarajuce dimenizije. To ce traziti izmenu postojeceg stanja, a to ce oduzeti vremena pa sam trazio neku precicu pod uslovom da ona uopste postoji. |
Možeš to rešiti pomoću serverske skripte vrlo lako. Napraviš iframe koji poziva proxy.php sa tvog domena (ako je PHP u pitanju), a u proxy.php imaš samo:
PHP kôd:
|
Ako je ta udaljena skripta komplikovanija (tipa vuče neke sličice/css/whatever sa tog istog domena preko relativnih putanja) onda neće biti dovoljno da se zove tako sa file_get_contents. U tom slučaju može se koristiti neka PHP Proxy skripta ili klasa, kao recimo ova: http://www.phpclasses.org/browse/package/4668.html
|
Nazalost, takav pristup nije moguc.
Da jeste koristio bih ajax i ne bi se patio sa ovim iframe-om. Specifikacija projekta je da user dobije samo JS kod, pastuje ga u svoj kod i .... to radi. Ostaje mi da probam, da u tom iframe-u ubacim javascript koji ce da se pozove na onload i da onda pokusam da promenim visinu iframe-a na visinu div-a koji "okruzuje" tu anketu. Da li ce to da radi, nemam pojma :) |
Na zalost, ni to nece moci.
Kôd:
Permission denied to set property Window.height |
Citat:
|
koliko sam shvatio, covek radi servis :)
nego, meni nije bas najjasnije, ako ti korisniku dajes gotov js kod, cemu onda uopste cela zajebancija sa iframe, sto mu jednostavno ne ispises anketu sa document.write? mozda sam nesto propustio, ali stvarno ne vidim potrebu da tim iframe... |
Da, u pitanju je servis.
iframe je zato sto je potrebno submitovati tu anketu a posle glasanja prikazati i rezultate. Pomocu iframe-a se refreshuje samo taj mali deo, a ne cela stranica sto je zahtev iz specifikacije projekta. PS Naravno, mozda sam ja nesto propustio oko svega ovoga pa mislim da nema drugog nacina :) |
Vreme je GMT +2. Trenutno vreme je 13:15. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.