Iframe overflow und location fehler!

a*new*found*flo

Erfahrenes Mitglied
Hallo!
Ich habe folgendes Script um den Content in einem Iframe zu ändern und gleichzeitig bei bedarf die scrollbar Eigenschaften umzuschalten.
Leider funktioniert das so aber nicht - und ich bin auch mit Suche und Selfhtml nicht auf die Lösung gekommen.

HTML:
 <script language="JavaScript">
<!--

 function scrollon(URL) {

 //link angeben
 parent.mainframe.location.href = URL;
     //scrollbars an
parent.mainframe.document.getElementsByTagName('body')[0].style.overflow='auto'
 return
}

function scrolloff(URL) {
//link angeben
parent.mainframe.location.href = URL;
  //scrollbars aus
parent.mainframe.document.getElementsByTagName('body')[0].style.overflow='hidden'

return
}


//-->
</script>

HTML:
<A HREF="javascript:scrolloff('home.php?file=events')"  TARGET="mainframe" >link</a>
<A HREF="javascript:scrollon('home.php?file=gb')"  TARGET="mainframe" >link2</a>
:rolleyes:
danke für eure Hilfe!
mit freundlichen Grüßen,Flo
 
Zuletzt bearbeitet:
Hy,

a*new*found*flo hat gesagt.:
Leider funktioniert das so aber nicht - [...]

..ist keine tolle Problembeschreibung.
Was genau funktioniert denn nicht, wie es soll? Wenigstens einen deutlichen Hinweis darauf,
worauf deine Einschätzung beruht, solltest du beim nächsten Mal geben. :)

Welche Bezeichnung hast du deinem iFrame denn gegeben (name-Attribut) und wo sind die
Links plaziert, von denen aus du den iFrame steuern willst?

hth,
Adam
 
Hallo!
Danke für die rasche Antwort und den Hinweis auf die unpräzise Erläuterung!
Also wenn ich auf das menu klicke - passiert nichts .- das frame bleibt wie es ist und auch sonst passiert nichts.
HTML:
<iframe src='home.php' name='mainframe' WIDTH=435 HEIGHT=638 frameborder=0 scrolling=no ></iframe>
so sieht das frame aus.
das menu ist außerhalb des frames. (siehe link) ->
die testseite
ich schätze mal das etwas mit der variblenweitergabe nicht funktionert - also die URL weitergabe über den link an das Script.
mfg flo
 
Ok, dann starten wir mal.

Der iFrame scheint im gleichen Frame wie die Navigation zu liegen, von daher ist ein parent in deinen JavaScript-Methoden unnütz, das würde ja auf den nächsthöheren Frame zugreifen und dort den iFrame ansteuern.

Ein return brauchst du innerhalb deiner zwei Methoden soweit ich weiß auch nicht.
Die Eigenschaft location.href ist soweit ich mich erinnere read-only, es ist da besser, lediglich die Eigenschaft location zu verändert.
Versuch`s mal so:

HTML:
<script type="text/javascript" language="JavaScript">
<!--

function scrollon(URL) {
	//link angeben
	mainframe.location = URL;
	//scrollbars an
	mainframe.document.getElementsByTagName('body')[0].style.overflow = 'auto';
}

function scrolloff(URL) {
	//link angeben
	mainframe.location = URL;
	//scrollbars aus
	mainframe.document.getElementsByTagName('body')[0].style.overflow = 'hidden';
}

//-->
</script>

HTML:
<a href="home.php?file=events" target="mainframe" onClick="scrolloff('home.php?file=events'); return false;">link</a>
<a href="home.php?file=gb" target="mainframe" onClick="scrollon('home.php?file=gb'); return false;">link2</a>

Gruß,
Adam
 
Um die overflow-Eigenschaft des Dokumentes zu ändern, muss dieses bereits geladen sein...was da nicht der Fall sein dürfte.

Schreibe einfach in die Dateien, in welche du keine Scrollbars haben willst, den entsprechenden <style>-Tag mit der entsprechenden Angabe.... bei Bedarf auch mit JS.
 
ok....die url weitergabe funktioniert nun,aber die scrollbalken schalten nicht um - da hatte Sven Mintel ercht ... @ Sven Mintel kannst du mir das mit dem style element bitte noch erklären?
dankeschön schon jetzt für all die hilfe!
 
so - bin selbst wie durch ein wunder auf die schwere rätsels lösung gekommen:

HTML:
<style type="text/css">
<!--
 body {
 overflow:hidden;
 }
-->
</style>

bzw.:

HTML:
<style type="text/css">
<!--
 body {
 overflow:auto;
 }
-->
</style>
 
Zurück