wieder mal frame/iframe/frameset/noframe

Anfänger? Kein Problem einfach hier fragen, wir helfen euch!

wieder mal frame/iframe/frameset/noframe

Beitragvon SteiniKeule am 06.08.2007, 11:20

hallo alle zusammen

ich hab noch ne kleine frage zum thema frames. ich weis ich weis... div div div

aber ich würde es gerne mit frame machen da ich die lösung gefunden habe wie ich direktverlinken kann :)

also ich hab auf meiner seite einen frame , genauer gesagt einen iframe. und ich möchte des der frame eine automatische gröse hat. sprich wenn der inhalt des frames grade mal 100 px gros ist sollte der frame auch nur 100 px gros sein. wenn er aber 500 px gros ist sollte er sich automatisch anpassen...
bischer sieht das ganze so aus:

Code: Alles auswählen
<iframe src="1.html" width="100%" height="35%" scrolling="no" frameborder="1">
</iframe>


das prob ist nun wenn ich den tag "height="35%" rausnehme hat der frame eine gröse von z.b. 150px aber der inhalt des frames hat 300px. also der frame passt sich ned an. wenn ich jetzt auf 35% gehe dann ist der frame in manchen fällen zu gros und in anderen fällen zu klein. nochdazu hätte ich einen fehler beim anzeigen unterschiedlicher grösen. scrolling="no" musste ich machen da scrollen nicht möglich ist.

wie mach ich das, dass sich der frame den inhalt anpasst?? im mom hab ich noch kein beispiel aber ich werd demnächst einen link setzten... hab ja vor ein paar min erst mein bilddatein erhalten :D:D:D :D :D :D
SteiniKeule
 
Beiträge: 400
Registriert: 20.09.2005, 15:34
Wohnort: Altötting


Beitragvon dragonl am 06.08.2007, 13:09

Moin SteiniKeule,

*grübel* *grübel*
Ich denke das ist nicht möglich !
Und zwar deshalb nicht weil in dem iFrame ein weiteres HTML-Dokument geladen wird. Dieses enthält einen <html>- und <body>-Tag welche sich meines Wissens nach immer 100% ausbreiten. Würde sich das iFrame dem auch noch anpassen würde alles ziemlich groß werden.

Ein Div wie du es schon erwähntest, passt sich seinem Inhalt an. Allerdings funktioniert dann ein direkt verlinken nicht mehr weil ein <div> kein src="" Attribut hat.


MfG
Dragonl
dragonl
 
Beiträge: 372
Registriert: 14.09.2004, 14:10
Wohnort: Bremen

Beitragvon SteiniKeule am 06.08.2007, 13:17

danke das hab ich mir auch gedacht nachdem ich alle beiträge über frames bei selfhtml gelsen habe. aber hoffen darf man ja *grins*

nun hab ich einen link wo der fall gezeigt wird:

www.sk-world.de

falls die frage aufkommt warum ich dort mit frames arbeite und nicht gleich alles in die html( indem fall index.html) schreibe...

das ist ganz einfach. ich möchte mit artikel arbeiten. Wenn ich für jeden artikel/ Beitrag eine eigene html verwende kann ich zu diesem artikel mehrfach verlinken. wenn ich einen fehler hab oder wenn ich was ergänzen möchte muss ich das nur in einer html machen und nicht in jeder. ich kann artikel schneller und einfacher austauschen. ich kann mit archiv arbeiten... da könnt ich noch ne menge aufzählen. aber ich denke das sind die wichtigsten punkte. und ich denke für die suche sollte es auch einfacher werden. wobei ich noch ned ganz genau weis wie ich das mit der suche machen werde -.-*
SteiniKeule
 
Beiträge: 400
Registriert: 20.09.2005, 15:34
Wohnort: Altötting

Beitragvon H-milch am 06.08.2007, 13:24

hauptdatei mit iframe
Code: Alles auswählen
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>iFrame set</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<script language="javascript" type="text/javascript">
<!--
function setFrame() {
var main = iframe.document.getElementById('main');
var inlineframe = document.getElementById('iframe');
var mainhoehe = parseInt(main.style.height);
var neuehoehe = mainhoehe + 10; //<--- puffer (+10px)
inlineframe.style.height = neuehoehe + "px";
}
//-->
</script>
</head>
<body >
<iframe src="test.html" name="iframe" id="iframe" border="0" scrolling="no" style="height: 100px; width: 510px;" onload="setFrame()">
<p>ihr browser unterstützt keine Iframes</p>
</iframe>
</body>
</html>

datei im iframe (bei mir test.html)
Code: Alles auswählen
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>test</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>
<body style="margin: 0px;">
<div id="main" style=" height: 500px; width: 500px; margin 0px;">
<!------------ inhalt ------------>
</div>
</body>
</html>

das script liest die höhe aus dem div im iframe und schreibt sie um 10 erhöht in den style der iframes.
deshalb ist es wichtig dass:
-die namen und IDs von div und iframe immer angegeben werden.
-außerhalb der divs nichts steht.
-die höhenmaße von beiden mit CSS angegeben werden und NICHT ausgelagert werden.

die puffergröße von 10 pixeln hab ich mal zur sicherheit angegeben. du solltest aber den margin von body und div immer auf 0 stellen, denn sonst sind 10 pixel zuwenig.
das script sollte eigentlich keine probleme verursachen ich habs im IE 6, Firefox 2,
Opera 9.2 und Netscape 7.1 getestet.

edit:
man oh man ich bin einfach zu langsam. Als ich angefangen habe hatte dieses Thema noch keine Antwort :S

der nachteil der scripts ist, dass man immer die höhe angeben muss. wenn man also den inhalt einer seite, die im frame geladen wird verändert muss man unterumständen die höhe des divs neu anpassen. mir is aber nix besseres eingefallen :P
H-milch
 
Beiträge: 130
Registriert: 18.07.2006, 23:18

Beitragvon SteiniKeule am 06.08.2007, 16:49

hm.. ja das ist ne gute lösung. aber dann kann ich ja gleich die gröse beim frame einstellen?!?!

aber für mich ist das schon gut weil ich ja mit artikel arbeite und die kann ich so schneller und einfacher austauschen...

aber mit dem einbinden muss ich mir nochmal anschaun
SteiniKeule
 
Beiträge: 400
Registriert: 20.09.2005, 15:34
Wohnort: Altötting

Beitragvon H-milch am 06.08.2007, 17:08

aber dann kann ich ja gleich die gröse beim frame einstellen

nee. du kannst die größe bein frame ja nur 1 mal einstellen. aber du willst ja viele verschieden große inhalte darin anzeigen lassen, ohne dass die framepage neu geladen wird.
H-milch
 
Beiträge: 130
Registriert: 18.07.2006, 23:18

Beitragvon SteiniKeule am 06.08.2007, 17:16

kk wenn du das sagst :D

also ich hab das jetzt so gemacht wie ich denke dass du es meinst. www.sk-world.de
und es scheint zu gehn.

nur eins bekomm ich ned weg.. und zwar den dummen border... ich hab nach border und frameborder gesucht aber der steht überall auf 0... warum hat mein frame nen rand??
SteiniKeule
 
Beiträge: 400
Registriert: 20.09.2005, 15:34
Wohnort: Altötting

Beitragvon H-milch am 06.08.2007, 17:24

änder das border="0" mal in frameborder="0".
wenn das nix bringt lass es trotzdem auf frameborder="0" und definier bei der test.html mal einen eigenen hintergrund.

ich bin jetzt erstmal weg. hoffe ich binn um ca 8 wieder da, falls es neue fragen gibt

mfg H-milch
H-milch
 
Beiträge: 130
Registriert: 18.07.2006, 23:18

Beitragvon SteiniKeule am 07.08.2007, 11:17

du hattest wieder mal recht mit frameborder="0"
SteiniKeule
 
Beiträge: 400
Registriert: 20.09.2005, 15:34
Wohnort: Altötting



Ähnliche Themen


Zurück zu Webmaster-Anfänger

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste