Größe eines iframes automatisch an iframe-inhalt anpassen?!

Status
Nicht offen für weitere Antworten.

altox-de

Erfahrenes Mitglied
Hallo zusammen.
Ich habe folgendes Problem:

Auf einer .php-Seite ist
in der Seite ein iframe namens "iframe" eingebaut:

PHP:
<iframe name="iframe" src="iframe.php" frameborder="0" scrolling="no" width="200" height="300"></iframe>

Dieser ruft die Seite "iframe.php" im selben Ordner
auf, die folgenden Code enthält:

PHP:
<html>

	<head>
		<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
		<style type="text/css" media="screen"><!--
a { color: #000; text-decoration: none }
--></style>
	</head>

	<body bgcolor="#e2b5ea" leftmargin="0" marginheight="0" marginwidth="0" topmargin="0">
		<table border="0" cellspacing="0" cellpadding="0">
			<tr>
				<td>
					<table width="200" border="0" cellspacing="0" cellpadding="0">
						<tr>
							<td><font face="Arial">										ich helfe dir gerne weiter!<br>
									<br>
										Frag mich doch einfach:<br>
								</font></td>
						</tr>
					</table>
				</td>
			</tr>
			<tr>
				<td>
					<iframe src="suche.php" frameborder="0" scrolling="no" height="250" width="200"></iframe>
				</td>
			</tr>
		</table>
		<br>
	</body>

</html>


In diesem Iframe soll jedoch auch mal ein anderer Inhalt angezeigt werden, der möglicherweise größer ist, als der jetzige, weshalb sich der iframe selbstständig an eine andere Größe anpassen können soll.

Wie funktioniert das bitte?
Gibt es da eine Lösung?

Vielen Dank im Voraus für eure Hilfe,
liebe Grüße, Claudi
 
Zuletzt bearbeitet:
Das kannst du mit PHP nicht realisieren. Außer du hast irgendwo im HTML Code stehen, wie breit die gesamte Seite ist. Dann könntest du versuchen das mit PHP auszulesen. Das bedeutet aber auch, dass du auch die Seite mit dem iframe neu laden müsstest, da ja von PHP die Breite geändet werden würde. (PHP ist serverseitig.)

Mit JS könntest du soetwas leichter machen. Da weis ich aber nicht, ob du aus dem iFrame herraus die Breite des iFrames ändern kannst. Evt mit
Code:
parent.top.document.getElementByID(IdDesIframes).style.width=NEUE_BREITE
Auch hier musst du dann JS irgendwie mitteilen, was die neue Breite ist.


Wenn er sich auch in der Höhe anpassen soll, warum machst du es dann mit einem iFrame? Lade die Seite doch komplett neu und include den Inhalt mit PHP an der passenden Stelle.
 
Zuletzt bearbeitet:
Hallo,
habe mal gerade was für dich gebastelt:
iframe.htm hat gesagt.:
<iframe id="frmTest" marginwidth="1" marginheight="1" border="0" frameborder="0" src="langertext.htm">
</iframe>

langertext.htm hat gesagt.:
<html>
<body onload="parent.document.getElementById('frmTest').height = document.body.scrollHeight+35; parent.document.getElementById('frmTest').width = document.body.scrollWidth+35;">

<p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br>
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br>

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<br>
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p>

</body>
</html>
 
was du vorhast, ist nur mit php möglich, das habe ich früher auch versucht.

Du musste mit php arbeiten wenn du das realiesieren willst.

das heißt
PHP:
<?php

include("test.php");

?>

und in test.php liegen dann die texte oder ähnliches
Hoffe ich konnte dir helfen :)
 
Hallo,
PHP ist natürlich die bessere Methode, aber ich wollte nur mal die in Javascript zeigen.
 
Mit PHP kannst du aber nicht die Breite eines iFrames ändern, außer du lädst die komplette Seite samt iFrame neu. Davor hast du dann mit PHP dem iFrame die neue Höhe/Breite mitgeteilt.
Aber dann kann er auch alles in einen DIV packen, der sich immer der Höhe anpasst.
 
Die Darstellung einer Website hängt von zu viele Faktoren ab, als dass ihre Dimensionen (Breite, Höhe) auf den Pixel genau bestimmt werden können.
 
wieso kann man mit php nicht die breite ändern?

- man macht eine tabele
- dort kommt .... include("test.php");

und falls man die breite geändert haben möchte, könnte man mit einer if abfrage die breite ändern....

z.b.
if( $_GET = "LOL")
{
echo "50%";
}

so in der art :)
 
Hallo zusammen!
Vielen Dank für eure Antworten,

Die Suchergebnisse der Suche sollen aber genauso auf der selben Seite
noch im selben Kästchen angezeigt werden, der Begrüßungstext
muss aber natürlich bei den Suchergebnissen verschwunden sein!

Geht das auch mit der "eleganten" php-Lösung?

Viele Grüße,
Claudi
 
Zuletzt bearbeitet:
Mit PHP kannst du die Breite/Höhe eines iFrames nur ändern, wenn du die Seite, die den Iframe enthalt auch neu lädst. PHP ist eine serverseitige Scriptsprache. Kann also nichts mehr ändern, was schon bei dir im Browser angezeigt wird.
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück