YourWBB


yourWBB » yourWBB Misc * » Das Proggen » HTML, XHTML, JavaScript & CSS » Problem mit iframe im template » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag 4.345 Views | | Thema zu Favoriten hinzufügen

Neues Thema erstellen Antwort erstellen

Zum Ende der Seite springen Problem mit iframe im template
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
mnreptilien
Mitglied


Dabei seit: 17.07.06
Beiträge: 17
Forenversion: 2.3

 Problem mit iframe im template Antworten Zitieren Editieren Melden       UP

Habe mein Wbb Forum erweitert das funktioniert auch wunderbar habe nur einen kleinen Schönheitsfehler den ich schon seit tagen versuche auszumerzen es aber nicht hinbekomme.

Und zwar möchte ich eine HTML Seite per iframe in ein template des wbb einfügen das geht auch aber es währe schöner wenn sich die höhe des frames der webseite anpassen würde

weis da jemand rat ??? oder sogar eine bessere lösung

Danke im voraus

der von mir verwendete template code ist folgender :


php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
<table cellpadding="{$style['tableincellpadding']}" cellspacing="{$style['tableincellspacing']}" border="{$style['tableinborder']}" style="width:{$style['tableinwidth']}" class="tableinborder">
 <tr>
  <td class="tabletitle" align="left"><span class="normalfont"><b>{$lang->items['LANG_GLOBAL_REPINFO']}</b></span></td>
 </tr>
 <tr align="left">
  <td class="tablea">
<iframe src="../page/startinfo.htm" name="I1" width="100%" marginwidth="0" marginheight="0" height="500">http://mn-reptilien.de/page/startinfo.htm</iframe>
</td>
 </tr>
</table>


der code der php
php:
1:
2:
3:
4:
5:
6:
7:
8:
<?php


$filename 'repinfo.php';

require('./global.php');
eval("\$tpl->output(\"".$tpl->get("Repinfo")."\");");
?>

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von mnreptilien: 23.07.06 17:14.

23.07.06 17:05 mnreptilien ist offline E-Mail Finden Als Freund hinzufügen Füge mnreptilien in deine Kontaktliste ein
Crashy
Mitglied


images/avatars/avatar-3747.gif

Dabei seit: 04.02.04
Beiträge: 543

Antworten Zitieren Editieren Melden       UP

na da wo du width0100% drinne hast machst davor noch height="100%" wenn es sohoch werden soll ansonsten wneiger smile

__________________
Wir bauen euch eure Addons/Styles kostenfrei ein
WbbSupport24

23.07.06 17:06 Crashy ist offline E-Mail Finden Als Freund hinzufügen
mnreptilien
Mitglied


Dabei seit: 17.07.06
Beiträge: 17
Forenversion: 2.3

Themenstarter Thema begonnen von mnreptilien
Antworten Zitieren Editieren Melden       UP

nein bei der 100% das hab ich schon versucht das macht er nicht die ist dann ca nur 200 pixel hoch

oder kann ich das nicht so machen das der per php erst das vorgefertigte template mit dem Kopf läd , dann die html seite per tabelle so wie im template nur mit include und dann den footer template ????

sorry fange erst gerade an mit php rum zu experimintieren

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von mnreptilien: 23.07.06 17:23.

23.07.06 17:16 mnreptilien ist offline E-Mail Finden Als Freund hinzufügen Füge mnreptilien in deine Kontaktliste ein
Crashy
Mitglied


images/avatars/avatar-3747.gif

Dabei seit: 04.02.04
Beiträge: 543

Antworten Zitieren Editieren Melden       UP

es gibt hier den hack eigene seite fürs wbb2.3 glaube von bräke da kannst du mit eigene seiten machen und die dann mit inhalt füllen haben dann den header ect. drinne und da kannsu dann iframe reinmachen smile

__________________
Wir bauen euch eure Addons/Styles kostenfrei ein
WbbSupport24

23.07.06 17:27 Crashy ist offline E-Mail Finden Als Freund hinzufügen
mnreptilien
Mitglied


Dabei seit: 17.07.06
Beiträge: 17
Forenversion: 2.3

Themenstarter Thema begonnen von mnreptilien
Antworten Zitieren Editieren Melden       UP

prinzipiel ist das ja sogar das selbe aber dann hätte ich den selben fehler
23.07.06 17:34 mnreptilien ist offline E-Mail Finden Als Freund hinzufügen Füge mnreptilien in deine Kontaktliste ein
Crashy
Mitglied


images/avatars/avatar-3747.gif

Dabei seit: 04.02.04
Beiträge: 543

Antworten Zitieren Editieren Melden       UP

Zitat:
Original von mnreptilien
prinzipiel ist das ja sogar das selbe aber dann hätte ich den selben fehler
naja die eigene seite öffnet er in fenster größe und der rest wird übers iframe angepasst und das mit der höhe muss definitiv klappen machtsbei mir ja auch

__________________
Wir bauen euch eure Addons/Styles kostenfrei ein
WbbSupport24

23.07.06 17:36 Crashy ist offline E-Mail Finden Als Freund hinzufügen
mnreptilien
Mitglied


Dabei seit: 17.07.06
Beiträge: 17
Forenversion: 2.3

Themenstarter Thema begonnen von mnreptilien
 RE: Problem mit iframe im template Antworten Zitieren Editieren Melden       UP

ergebniss wenn ich es so machen http://mn-reptilien.de/wbb2/repinfo.php



code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
<table cellpadding="{$style['tableincellpadding']}" cellspacing="{$style['tableincellspacing']}" border="{$style['tableinborder']}" style="width:{$style['tableinwidth']}" class="tableinborder">
 <tr>
  <td class="tabletitle" align="left"><span class="normalfont"><b>{$lang->items['LANG_GLOBAL_REPINFO']}</b></span></td>
 </tr>
 <tr align="left">
  <td class="tablea">
<iframe src="../page/startinfo.htm" name="I1" height="100%" width="100%" marginwidth="0" marginheight="0">http://mn-reptilien.de/page/startinfo.htm</iframe>
</td>
 </tr>
</table><br />
23.07.06 17:51 mnreptilien ist offline E-Mail Finden Als Freund hinzufügen Füge mnreptilien in deine Kontaktliste ein
chrime chrime ist männlich
Besserwisser 2007


images/avatars/avatar-4870.gif

Dabei seit: 21.02.05
Beiträge: 1.827
Herkunft: /home/chrime - Castrop-Rauxel, NRW, Germany
Forenversion: 3.0

 RE: Problem mit iframe im template Antworten Zitieren Editieren Melden       UP

Ist auch volkommen klar, aber wenn man sich nicht genau dein vorhaben durchliest kann man auch nur stuss reden,

Es geht darum das der iFrame immer so hoch sein soll das die eingebundene Seite darein passt. Das geht leider nicht. du musst dir etwas anderes ausdenken.

__________________
www.medianetworker.info
23.07.06 18:00 chrime ist offline E-Mail WWW Finden Als Freund hinzufügen Füge chrime in deine Kontaktliste ein MSN Passport-Profil von chrime anzeigen
lycoos lycoos ist männlich
Frauenstimme 2007


images/avatars/avatar-4473.gif

Dabei seit: 05.08.05
Beiträge: 1.076

Antworten Zitieren Editieren Melden       UP

Mache doch ein Link mit einem schönen kleinen Popup das sieht auch ganz gut aus....

__________________
mfg

der Lycoos


Der Satz des Pythagoras umfasst 24 Worte,die Zehn Gebote 279, die amerikanische Unabhängigkeitserklärung 300 und die Verordnung der EG über die Einfuhr von Karamelbonbons 25.911 Worte.


23.07.06 18:02 lycoos ist offline E-Mail Finden Als Freund hinzufügen
mnreptilien
Mitglied


Dabei seit: 17.07.06
Beiträge: 17
Forenversion: 2.3

Themenstarter Thema begonnen von mnreptilien
Antworten Zitieren Editieren Melden       UP

wie könnte ich die seite den in die php datei einbinden???das ich sie zwischen den beiden templates header und footer lassen kann

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
<?php


$filename 'repinfo.php';

require('./global.php');
eval("\$tpl->output(\"".$tpl->get("Repinfo")."\");"); //die seite nur mit header bis zur ersten tabelle
 // die frame seite 

eval("\$tpl->output(\"".$tpl->get("footer")."\");"); : // nur der footer

?>


greez

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von mnreptilien: 23.07.06 18:06.

23.07.06 18:02 mnreptilien ist offline E-Mail Finden Als Freund hinzufügen Füge mnreptilien in deine Kontaktliste ein
Schweinebacke Schweinebacke ist männlich
Mitglied


images/avatars/avatar-5303.jpg

Dabei seit: 06.01.06
Beiträge: 826
Herkunft: Baden Württemberg

Antworten Zitieren Editieren Melden       UP

Lösung über JS:
Das iFrame wird auf die Höhe der Fenstergröße (screen.height) gesetzt. In dem Beispiel werden allerdings 250px abgezogen, da das iFrame ansonsten zu groß wird. 250px reichen normal für alle Symbolleisten aus, die man so auf dem Bildschirm hat.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
<script type="text/javascript">
function hoch () {
  document.getElementById("frame").height = screen.height-250;
}
window.onload=hoch;
</script>
<table cellpadding="{$style['tableincellpadding']}" cellspacing="{$style['tableincellspacing']}" border="{$style['tableinborder']}" style="width:{$style['tableinwidth']}" class="tableinborder">
 <tr>
  <td class="tabletitle" align="left"><span class="normalfont"><b>{$lang->items['LANG_GLOBAL_REPINFO']}</b></span></td>
 </tr>
 <tr align="left">
  <td class="tablea">
<iframe src="../page/startinfo.htm" name="I1" id="frame" width="100%" marginwidth="0" marginheight="0" height="500">http://mn-reptilien.de/page/startinfo.htm</iframe>
</td>
 </tr>
</table>
23.07.06 18:12 Schweinebacke ist offline E-Mail Finden Als Freund hinzufügen
mnreptilien
Mitglied


Dabei seit: 17.07.06
Beiträge: 17
Forenversion: 2.3

Themenstarter Thema begonnen von mnreptilien
Antworten Zitieren Editieren Melden       UP

Zitat:
Original von Schweinebacke
Lösung über JS:
Das iFrame wird auf die Höhe der Fenstergröße (screen.height) gesetzt. In dem Beispiel werden allerdings 250px abgezogen, da das iFrame ansonsten zu groß wird. 250px reichen normal für alle Symbolleisten aus, die man so auf dem Bildschirm hat.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
<script type="text/javascript">
function hoch () {
  document.getElementById("frame").height = screen.height-250;
}
window.onload=hoch;
</script>
<table cellpadding="{$style['tableincellpadding']}" cellspacing="{$style['tableincellspacing']}" border="{$style['tableinborder']}" style="width:{$style['tableinwidth']}" class="tableinborder">
 <tr>
  <td class="tabletitle" align="left"><span class="normalfont"><b>{$lang->items['LANG_GLOBAL_REPINFO']}</b></span></td>
 </tr>
 <tr align="left">
  <td class="tablea">
<iframe src="../page/startinfo.htm" name="I1" id="frame" width="100%" marginwidth="0" marginheight="0" height="500">http://mn-reptilien.de/page/startinfo.htm</iframe>
</td>
 </tr>
</table>
geht das nicht auch auf die höhe der anzuzeigenen datei
bsp der inhalt der im frame geladene seite hat 600 pixel höhe also stellt sich die höhe auf 600 die 2 seite die per link geöhnet wird hat eine höhe von 300 pisel also stellt sich das frame auf 300
23.07.06 18:17 mnreptilien ist offline E-Mail Finden Als Freund hinzufügen Füge mnreptilien in deine Kontaktliste ein
Schweinebacke Schweinebacke ist männlich
Mitglied


images/avatars/avatar-5303.jpg

Dabei seit: 06.01.06
Beiträge: 826
Herkunft: Baden Württemberg

Antworten Zitieren Editieren Melden       UP

habe da ne Seite für dein iFrame gefunden:

iFrame passt sich an:
23.07.06 22:15 Schweinebacke ist offline E-Mail Finden Als Freund hinzufügen
mnreptilien
Mitglied


Dabei seit: 17.07.06
Beiträge: 17
Forenversion: 2.3

Themenstarter Thema begonnen von mnreptilien
Antworten Zitieren Editieren Melden       UP

Zitat:
Original von Schweinebacke
habe da ne Seite für dein iFrame gefunden:

iFrame passt sich an:


das ist eigendlich genau das was ich suche nur noch das richtig umsetzen
23.07.06 23:46 mnreptilien ist offline E-Mail Finden Als Freund hinzufügen Füge mnreptilien in deine Kontaktliste ein
Schweinebacke Schweinebacke ist männlich
Mitglied


images/avatars/avatar-5303.jpg

Dabei seit: 06.01.06
Beiträge: 826
Herkunft: Baden Württemberg

Antworten Zitieren Editieren Melden       UP

Ich gehe mal davon aus, dass du mit dem umsetzten eine Hilfe gemeint hast.
Und wenn nicht gibt es ja auch eventuell Andere die es verwenden wollen.

Geht alles im Template. Das Scrip muss nicht zwingen in den Header.

Sieht dann für dein Template so aus:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
<script type="text/javascript">
<!--
function pruefe() {
   if(document.all&&!window.opera) {
     var a=document.all.detail;
     detail.document.body.scroll='no';
   } else {
     var a=document.getElementsByName('detail')[0];
     a.scrolling='no';
   }
   var a=document.getElementsByName('detail')[0];
   detail.document.getElementsByTagName('body')[0].style.overflow='hidden';
   var b=detail.document.getElementById('cont');
   if(a.style.height != eval(b.offsetHeight+35)+'px') {
      a.style.height=eval(b.offsetHeight+35)+'px';
   }
}
//-->
</script>
<table cellpadding="{$style['tableincellpadding']}" cellspacing="{$style['tableincellspacing']}" border="{$style['tableinborder']}" style="width:{$style['tableinwidth']}" class="tableinborder">
 <tr>
  <td class="tabletitle" align="left"><span class="normalfont"><b>{$lang->items['LANG_GLOBAL_REPINFO']}</b></span></td>
 </tr>
 <tr align="left">
  <td class="tablea">

<iframe onLoad="pruefe()" src="../page/startinfo.htm" width="100%" id="detail" name="detail" marginwidth="0" marginheight="0" ></iframe>
</td>
 </tr>
</table>


Wichtig das onLoad="pruefe()" für den Scriptaufruf und den Framenamen im iFrame-Tag (name="detail").

Das Ganze funktioniert nur wenn in den zu ladenden Seiten ins iFrame die id="cont" steht.
Der Autor verwendet da ein div-Bereich mit der id. Kann man aber auch in den body-Tag setzen.
(<body id="cont">) Das muss in allen Seiten rein, ansonsten funktioniert das Script nicht.

Das war´s schon – müsste gehen. Augenzwinkern

Ach ja - bei den Verweisen zum iFrame den Namen nicht vergessen.
<a href="../page/startinfo.htm" target="detail"> xxxx </a>

javascript="Gernot Back"

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Schweinebacke: 24.07.06 08:08.

24.07.06 08:07 Schweinebacke ist offline E-Mail Finden Als Freund hinzufügen
Baumstruktur | Brettstruktur
Gehe zu:

Neues Thema erstellen Antwort erstellen

yourWBB » yourWBB Misc * » Das Proggen » HTML, XHTML, JavaScript & CSS » Problem mit iframe im template