Iframe magassága legyen akkora, mint a benne lévő dokumentum
Hello!
Egy iframe-en alapuló html honlapot készítek már hónapok óta, de elakadtam:
Azt szeretném, hogy az iframe mindig akkora legyen, mint a keretben lévő oldal magassága. Ha 100%-ra állítom a keretet, akkor az a böngésző méretéhez igazodik, nem az iframe-ben lévő laphoz.
Valaki segítsen...
■ Egy iframe-en alapuló html honlapot készítek már hónapok óta, de elakadtam:
Azt szeretném, hogy az iframe mindig akkora legyen, mint a keretben lévő oldal magassága. Ha 100%-ra állítom a keretet, akkor az a böngésző méretéhez igazodik, nem az iframe-ben lévő laphoz.
Valaki segítsen...
Mit szeretnél elérni?
Pl.
Csináltam egy egyszerű példát hozzá:
http://startrekworld.scifi.hu/ideigl/index2.htm
(A j betűk nem látszódnak végig, mert a frame mindig akkora mint a böngésző)
Remélem ebből kiderül, mit szeretnék :D
Félreértettél...
csak egy oldalt
Azért kellenek a frame-k, mert így később egyszerűbben tudom módosítani az oldalt és mert gyorsabban lehet az oldalon belül böngészni.
AJAX vagy PHP
nem tudok programozni
nem lehet
javaslomn, hogy az AJAXnak nezz utana
http://blog.underconstruction.hu/2006/05/httprequest-v20/
ez peldaul egy nagyon nagyon egyszeruen hasznalhato script, innen mar csak par sort kell javascriptben megirnod hogy az legyen az eredmeny amit te iframevel szeretnel elerni.
a kérdés a szerver
van minden
AJAX - egyszerűen
A jquery.com-on található javascript-gyűjtemény (mindig ezt reklámozom, mert szeretem az ilyen egyszerűen használható dolgokat :) ) tartalmaz egy jó kis AJAX-modult is. Ezzel egyszerűen (mintha IFRAME) lenne, betöltheted egy tetszőleges HTML-elembe egy URL tartalmát. Ja, tényleg egyszerűen:
Még egy kis súgó:
Mondjuk szebb megoldás a
(Ekkor a link így néz ki:
(Ha a nem-javascriptesekre is gondolni szeretnél, akkor a href-be is beírod a linket és akkor legalább átmegy arra. - még extrább esetben egy javascripttel cseréled le a hrefeket erre a variációra - ez lenne a 'diszkrét javacsript' megoldás, de azt hiszem, ez a veszély nem fenyeget most Téged)
Hátrányok több mint iframe-nél
PHP include-t vagy Server Side Include-ot ajánlom!
teny
viszont ha en irom akkor nem igy van :)
nezd meg ezt:
ha ez kell akkor ott a javascript amivel mukodni fog
kizarolag mozillara - azthiszem
asszem értem
Ez szvsz nem fog menni script nélük, de még azzal is necces. Próbáld meg ezt.
miért script
Egyszerűbben nem lehet?
és mi legyen a kódnyelv?
kvázi legegyszerűbb megoldásnak. És még egyet nem értek: most pontosan mi a cél?
1. ha egyszerűt akarsz, akkor csinálj egyszerűt -amúgy is statikus a dolog(gondolom). Letisztult, funkcionális design és kész...
2. elegánsan kódoltat akarsz: ez kiesett az iframe miatt
3. azt szeretnéd, hogy működjön: de még egy ötletünket sem próbáltad ki... pedig biztos segítenénk, ha elakadnál valahol (eddig ugyanis nem túl konkrét a problémád)
php-html hibrid
Tudom, hogy a javasript sok mindenre jó, de a felhasználok jó részének a böngészője letíltja ezeket. A php-vel pedig az a gond, hogy ha az egész honlap az lenne, akkor nehézkessé válna a szerkesztés, hiszen rendesen/manuálisan kellene a honlap kódforrását megírnom. Nem lehetséges egy php kódot beszúrni a html-be és úgy megoldani a problémát?
ez már közelít a jóhoz
azt a kódot, ami a frame-be kerülne mentsd el, de csak a body-tól befelé
(tehát az már nem kell), az iframe helyére pedig tedd ezt:
<? include('az elmentett fájl neve'); ?> az egészet pedig nevezd át html-ről php-ra és told fel a szerverre. Ennek elvileg már így is működnie kéne.
nem működik
A keretben lévő lapnak töröltem a head részét, csak a bodytól hagytam meg ( http://startrekworld.scifi.hu/ideigl/alap2.htm ), Az index2-t pedig php-ként mentettem el, de előtte még kitöröltem az iframe-t:
<IFRAME style="WIDTH: 100%; HEIGHT: 100%" marginWidth=0 marginHeight=0 src="http://startrekworld.scifi.hu/ideigl/alap.htm"" frameBorder=0 name="star_trek" scrolling="no"></IFRAME>
és ezt tettem be helyette, ahogy mondtad:
<? include('src="http://startrekworld.scifi.hu/ideigl/alap2.php"'); ?>
majdnem jó
<? include('http://startrekworld.scifi.hu/ideigl/alap2.php'); ?>
az src-nek itt nincs semmi értelme!
az alap2.html-ből viszont töröld a <body> és html, body end tag-et is.
működik, de...
http://startrekworld.scifi.hu/ideigl/index2.php
Az include-nak nem lehet valahogy nevet adni, hogy a link a keretben nyissa meg az új oldalt?
hát igen
-amikor linket raksz egy oldalra, az oda fog nyílni, amit megadsz neki (ha semmit, akkor a hívó oldal helyére). Gondolom a frame-be úgy töltöttél, hogy megadtad target-nek a frame nevét.
-ide most más kell. A php-nak kell átadni egy változót, vagyis az oldal címét, amit be akarsz includolni (korábban frame-be tölteni)
igy nézne ki:
-sima link: <a href="index2.html" target="frame neve">...</a>
-most ezt kell írni <a href="index.php?page=index2.html">...</a>
az include pedig így nézzen ki:
<? include($_GET['page']); ?>
nem értem
<a href="index.php?page=index2.html">link</a>
...de akár mit írok az index2.html helyére, később a linkre kattintva nem hozza be az oldalt, illetve azt írja, hogy nem találja. Most a rovid.htm-re van linkelve és nem találja, külön a böngészőbe beírva pedig megnyitja.
Ezt pedig nem tudom hová tegyem:
<? include($_GET['page']); ?>
Cseréljem le az előző include-dal?
biztonság!
A biztonság itt fontos lesz!
Szóval: közvetlenül ne include-olj egy változóból kapott tartalmat, pfújj ;-) ...
Szóval:
Na, BYEz, jó hétvégét! (teecee bacsi) :o)
pedig már majdnem jó
ez az index.php
<p>valami</p>
nem megy
<a href="index.php?page=page1.html">link</a>
Tehát, ha index3.php néven készítem el, akkor az index.php? helyére index3.php? kell?
pontosan
zavaros
<a href="proba_menu.htm?page=rovid.htm">link</a> <? include($_GET['page']); ?>
Azért proba_menu.htm, mert azon az oldalt van a link és azért rovid.htm, mert azt kell megnyitnia, az utána jövő include, pedig azért kell, mert a php keretbe kell hogy megnyissa... de nem működik a link egyáltalán.
.php
még 2 gond
...
namégegyszer
a cél
finaltrekker##kukac##citromail.hu
ok
Megoldás
nah regiztem :D
<iframe src="a betöltendő oldal neve amit iframeba akarsz meghívni.html" width="100%" height="100%" name="iframe(de akármilyen never adhatsz az iframednak)" id="belso" scrolling=no frameborder="0"></iframe>
Ezt természetesen oda teszed ahova meg akarod hívni a másik oldalt amit iframeba raksz.
Most nézzük a meghívott oldalt:
<html>
<body onload="parent.document.getElementById('belso').height=document.getElementById('vege').offsetTop">
<p>Sz1</p>
.....
<div id="vege"></div>
</body>
</html>
Nah ilyen módon csinálj minden meghívandó oldallal.
Természetesen a meghívásnál:
<a href="a betöltendő oldal neve amit iframeba akarsz meghívni.html" title="" target="iframe(vagy ahogy az iframeban elnevezted a framedet)">
Sok szerencsét :D
Egyszerű mi? :D
álmodom?
Akkor megmutatod, hogy kell átírni a keretet, hogy ilyen legyen? Vagy ez a kódja itt lejjebb?
Nem HTML
???
fentebb ott a kód
A kettő ugyan az
Jaj nekem
http://startrekworld.scifi.hu/ideigl/111.htm
ilyen a frame:
<IFRAME style="WIDTH: 50%; HEIGHT: 100%" marginWidth=1 marginHeight=1 src="http://startrekworld.scifi.hu/ideigl/222.htm"" frameBorder=0 name="lum" id="belso" scrolling="no"></IFRAME>
<IFRAME style="WIDTH: 50; HEIGHT: 100%" marginWidth=2 marginHeight=2 src="http://startrekworld.scifi.hu/ideigl/222.htm" frameBorder=0 name="lum2" name="lum2" id="belso" scrolling="no"></IFRAME>
ilyen a hivatkozás:
<a target="lum2" title="" href="http://startrekworld.scifi.hu/ideigl/333.htm">hjfhj</a></p>
és ilyen a betöltött oldal:
<html>
<body onload="parent.document.getElementById('belso').height=document.getElementById('vege').offsetTop">
<p>Sz1<br>
<br>
í</p>
<p>í</p>
.....
<div id="vege"></div>
</body>
</html>
De nem nyújtja meg a keretet.
Hát itt sok a hiba
<IFRAME src="http://startrekworld.scifi.hu/ideigl/222.htm" WIDTH="50%" HEIGHT="100%" frameBorder="0" name="lum" id="belso" scrolling="no"></IFRAME>
Itt a meghívás:
<a href="http://startrekworld.scifi.hu/ideigl/333.htm" target="lum" >hjfhj</a>
Aztán ez legyen minden meghívott oldal body-ja:
<body onload="parent.document.getElementById('belso').height=document.getElementById('vege').offsetTop">
és ezt a /body elé:
<div id="vege"></div>
mi a hiba?
passzolom a kérdést
és nállad?
Nem úgy csináltad
vege
DIV
-be raktad bele az összes tartalmat a333.htm
-ben, és nem ezt írták neked.hopsz
Egyébként hol lehet a beállítani, hogy a java alkalmazások tíltva legyenek?
Offtopic
SZUPER
igen
default
Nekem az a problémám, hogy
<center><iframe src="http://sikermegoldasok.com/forum/chat/flashchat.php" width="100%" height="100%" frameborder="0" marginheight="0" marginwidth="0" scrolling="no">Betöltés...</iframe><center>
Újra
a 37. hozzászóláshoz szeretnék kérdést intézni.
A fenti kód tökéletesen működik viszont egy kicsit megbonyolították az életem és az ifram-es oldalba be kell integráljak egy word press blogot. Sajnos a menü rendszer olyan, hogy nem teszi lehetővé a külön oldalon való megnyitást így mindenféleképpen bele kell rakni az iframe-be.Viszont nem tudom, hogy a blog-ba hova kéne bele rakni az említett kódokat.
Köszönöm előre is az ötleteket.
Wordpress
re...
Igen
De..
Ha ez a gondolat menetem jó akkor esetleg azt lehetne megtenni, hogy a behívott html oldalt egy redirect-el át irányítom egy php file-ra és abba beteszem a body tagba a kódot majd jön egy include ami meghívja a wp indexét utánna meg jön a záró tag.
Jó az elgondolás?
Fölösleges
Tudom