DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   (X)HTML, JavaScript, DHTML, XML, CSS (http://www.devprotalk.com/forumdisplay.php?f=8)
-   -   Referenca na div koji se nalazi u iframe-u (http://www.devprotalk.com/showthread.php?t=6150)

centaur 04. 09. 2008. 22:13

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.

Ivan 04. 09. 2008. 23:27

Mislim da iz security razloga ne mozes da pristupis elementima sa drugih domena koji su ucitani u iframe.

centaur 04. 09. 2008. 23:38

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.

srdjevic 05. 09. 2008. 06:32

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:

<?php echo file_get_contents('http://domen.com/whatever'); ?>

Naravno, to je pod uslovom da ti PHP ima podešen allow_url_fopen na ON...

Nemanja Avramović 05. 09. 2008. 08:09

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

centaur 05. 09. 2008. 09:00

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 :)

centaur 05. 09. 2008. 10:24

Na zalost, ni to nece moci.
Kôd:

Permission denied to set property Window.height

twix 05. 09. 2008. 14:45

Citat:

Konkretnije, u pitanju je anketa koja se "vuce" sa jednog servera..
Mislim da je jednostavnije resenje postaviti anketu kod sebe na server/sajt? :1050:

japan 05. 09. 2008. 15:11

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...

centaur 05. 09. 2008. 15:27

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 18:22.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.