 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
03.10.2003, 13:12
|
#1
|
|
TP-Specialist
Registriert seit: Feb 2002
Ort: Wien
|
Popup dynamisch in Höhe anpassen
Hallo,
ich suche eine Möglichkeit, ein Popupfenster entsprechend der Höhe des Inhalts anzupassen. Der Inhalt besteht aus einer gewöhnlichen Layouttabelle mit Texten und Bildern. Nachdem man ja meines Wissens mit JS den <body>-Bereich nicht in seiner Höhe auslesen kann, weiß ich nicht, wie ich das am besten bewerkstellige.
Einzige Möglichkeit, die mir selbst gekommen ist: ich plaziere irgendwo eine Grafik mit 100 % Höhe, lese diese durch ihre id aus und passe demensprechend per onLoad mittels resizeTo() die Fenstergröße an.
Kennt jemand etwas eleganteres?
Gruß, Jürgen
|
|
|
03.10.2003, 14:45
|
#2
|
|
TP-Senior
Registriert seit: Jun 2003
Ort: Hamburg
|
Joa... äähhhmmm.
Also, wenn du weißt, wie groß das Fenster werden soll, würde ich das so regeln:
<html>
<head>
<script language="JavaScript"><!--
function fernsteuerung(){
var fenster = window.open("remote.html", "fern", "height=200,width=400,status=1")
if (fenster.opener == null)
fenster.opener = self
}
//--></script>
<body>
<a href="javascript:fernsteuerung()">Fernsteuerung öffnen</a>
</body>
</html>
Ansonsten würde ich vielleicht eher den Inhalt dem Fenster anpassen.
__________________
Was ist braun und dreht sich im Kreis? ->frag mich doch!
|
|
|
03.10.2003, 15:13
|
#3
|
|
TP-Specialist
Registriert seit: Feb 2002
Ort: Wien
|
Ist mir schon klar, wie ich ein Popup mit einer bestimmten Größe erzeuge...
Aber natürlich weiß ich nicht, wie groß das Fenster werden soll. Der Inhalt wird aus einer Datenbank ausgelesen und mit PHP erzeugt - deshalb brauche ich ja die dynamische Anpassung der Höhe - die Breite ist immer gleich.
|
|
|
03.10.2003, 15:22
|
#4
|
|
TP-Senior
Registriert seit: Jun 2003
Ort: Hamburg
|
hmm...
da kann ich nur sagen: Weiterforschen oder resizeTo()
;-)
__________________
Was ist braun und dreht sich im Kreis? ->frag mich doch!
|
|
|
03.10.2003, 20:11
|
#5
|
|
TP-Specialist
Registriert seit: Feb 2002
Ort: Wien
|
resizeTo() brauche ich auf jeden Fall  . Die Frage ist, wo ich die Höhe des Dokuments herbekomme...
|
|
|
05.10.2003, 22:46
|
#6
|
|
TP-Veteran
Registriert seit: Mar 2002
Ort: Göppingen
|
Hallo Jürgen,
probier es doch mal mit document.body.scrollHeight für IE bzw. document.height für Netscape, damit solltest Du die Länge Deines bodies eventuell auslesen können, hab es jetzt aber nicht getestet.
Liebe Grüße, AnnaStesia
|
|
|
06.10.2003, 00:36
|
#7
|
|
TP-Senior
Registriert seit: Aug 2003
Ort: Dresden
|
Guten Tag.
Ich würde zumindest bei aktuellen Browsern folgendes verwenden.
Code:
<html>
<head>
<script type="text/javascript">
<!--
function holeHoehe() {
alert(document.getElementsByTagName("div")[0].offsetHeight);
}
//-->
</script>
</head>
<body onLoad="holeHoehe()">
<div>123456</div>
</body>
</html>
Vielleicht hilft das weiter.
Beste Grüße . . . Karsten
|
|
|
06.10.2003, 00:41
|
#8
|
|
TP-Specialist
Registriert seit: Feb 2002
Ort: Wien
|
Vielen Dank, AnnaStesia!
ist mein Thread noch nicht ganz in der Versenkung verschwunden.
Auf deine Lösung bin ich gar nicht gekommen... auch gut. Ich habe jetzt noch eine Lösung auf Basis des DOM gefunden, und zwar:
Ganz unten im Dokument kommt ein leerer div-Container rein mit einer id:
PHP-Code:
<div id="rand_unten"></div>
Dann ein JS, das das Fenster anpasst:
PHP-Code:
function fenster_anpassen() {
if (document.getElementById) {
var hoehe = document.getElementById("rand_unten").offsetTop + 36;
if (hoehe > 500) {
hoehe = 500;
window.resizeTo(440, hoehe);
} else {
window.resizeTo(423, hoehe);
}
}
}
Und im Body-Tag der Aufruf der Funktion bei OnLoad:
PHP-Code:
<body onLoad="fenster_anpassen();">
Geht in allen DOM-fähigen Browsern. Wär interessant, was deine Lösung im Mozilla bewirkt, weil ja das ScrollHeight MS-spezifisch ist und meines Wissens keinem Standard entspricht.
Liebe Grüße,
Jürgen
|
|
|
06.10.2003, 00:46
|
#9
|
|
TP-Specialist
Registriert seit: Feb 2002
Ort: Wien
|
Zitat:
Original geschrieben von Karsten Müller
document.getElementsByTagName("div")[0].offsetHeight
|
Auch nicht dumm... ich habe die offsetHeight mit dem body-Tag ausprobiert, ging aber nicht, weil er da auch nur die sichtbare Fensterhöhe ausgibt. Gibts doch einige Lösungen... danke!
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 10:29 Uhr.
|
 |