Autor Zpráva
Jape
Profil
Zdravím, kvůli funkčnosti potřebuju na stránky načítat iframe a měnit mu velikost, udělal jsem téměř funkčí skript, ale stále má jeden háček. Chyba nastane když je přímo v iframe odkaz, potom javascript nenajde výšku body v iframe a tudíž se výška nasatví na 0. Pro lepší pochopení ukázka:

function vypocet_vysky(id) {
	document.getElementById(id).style.height = "0px";
	var vyska_dokum = document.getElementById(id).contentWindow.document.body.scrollHeight;
	vyska_dokum += 30;
	document.getElementById(id).style.height = vyska_dokum+'px';
}


To byl můj původní kód než jsem přišel na tuto chybu, myslel jsem, že jí vyřeším takto:


function vypocet_vysky(id) {
	document.getElementById(id).style.height = "0px";
	var vyska_dokum = (document.getElementById(id).contentWindow.document.body.scrollHeight != "")? document.getElementById(id).contentWindow.document.body.scrollHeight :  document.body.scrollHeight;
	vyska_dokum += 30;
	document.getElementById(id).style.height = vyska_dokum+'px';
}


bohužel ani toto nepomohlo a document.body.scrollHeight ukazuje výšku hlavního okna.
Nevíte někdo jak by se to dalo vyřešit?
Dixie
Profil
Hodil by se odkaz přímo na projekt.
Nepochopil jsem přesně o co jde. Já tedy používám css pro nastavení všech velikostí.
Webik si už umí i dopočítat zbývající počet pixelů mezi dvěma elementy a nastavit si tak šířku apod.
Jape
Profil
Bohužel jde o interní projekt.
Jde o to, že ifarmu se nezmění velikost, když se do něj načte nová stránka (ani když se nastaví width: 100%). problém lze docela slušně vyřešit takto:
http://teststranek.kvalitne.cz/iframe2/, bohužel, když načtete menší stránku (bude mít menší body height), než kterou jste měli načtenou před tím, tak zůstane velikost té větší - velikost iframe se nezmenšuje! To by však nebyl takový problém, ten se mi podařilo vyřešit. Tento skript však nepočítá s tím, že by se stránka načítala po kliknutí na odkaz v iframe (vždy se bude načítat kliknutím na odkaz mimo iframe), jenže já mám odkazy i v framu.
peta
Profil
Ja pouzivam toto pro vypis clanku: http://www.slu.cz/fpf/cz . Nemam to testovane na starych prohlizecich.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0