Frame-URL auslesen
Florian
- javascript
Hallo,
ich hab mal wieder ein kleines Problem. Ich hab auf meiner Seite folgendes Frameset:
<frameset rows="*,70" frameborder="yes" border="0" framespacing="0">
<frame name="mainFrame" src="home.html" marginwidth="10" marginheight="5">
<frame name="footerFrame" scrolling="no" noresize src="footer.html" marginwidth="0" marginheight="0">
</frameset>
Ich möchte nun durch Klick auf einen Link in footer.html zum Anker #top in "mainFrame" zu springen und zwar unabhängig davon, welche Datei dort grad angezeigt wird
Ich könnte mir vorstellen, dass man den Dateinamen auslesen und dann via <a href="#" onClick="parent.mainFrame.location.href='#top'"> o.ä. das Problem lösen könnte. Leider weiß ich nicht wie ich das machen soll.
Vielen Dank schon im Voraus.
Hellihello Florian,
Hallo,
ich hab mal wieder ein kleines Problem. Ich hab auf meiner Seite folgendes Frameset:<frameset rows="*,70" frameborder="yes" border="0" framespacing="0">
<frame name="mainFrame" src="home.html" marginwidth="10" marginheight="5">
<frame name="footerFrame" scrolling="no" noresize src="footer.html" marginwidth="0" marginheight="0">
</frameset>Ich möchte nun durch Klick auf einen Link in footer.html zum Anker #top in "mainFrame" zu springen und zwar unabhängig davon, welche Datei dort grad angezeigt wird
Ich könnte mir vorstellen, dass man den Dateinamen auslesen und dann via <a href="#" onClick="parent.mainFrame.location.href='#top'"> o.ä. das Problem lösen könnte. Leider weiß ich nicht wie ich das machen soll.
wieso lässt Du Dir nicht mir alert genau das ausgeben? Dann weißt du, ob du die href des Frames erwischt hast.
Danach dann leichtes Spiel:
was_auch_immer='#asdfasdfasdf';
old_href=parent.framename.location.href;
parent.framename.location.href = old_href + was_auch_immer;
Dank und Gruß,
frankx
Danke schonmal für die Hilfe. Leider versteh ich nicht ganz, wie ich das per alert ausgeben könnte...
Hellihello Florian,
Hallo,
ich hab mal wieder ein kleines Problem. Ich hab auf meiner Seite folgendes Frameset:<frameset rows="*,70" frameborder="yes" border="0" framespacing="0">
<frame name="mainFrame" src="home.html" marginwidth="10" marginheight="5">
<frame name="footerFrame" scrolling="no" noresize src="footer.html" marginwidth="0" marginheight="0">
</frameset>Ich möchte nun durch Klick auf einen Link in footer.html zum Anker #top in "mainFrame" zu springen und zwar unabhängig davon, welche Datei dort grad angezeigt wird
Ich könnte mir vorstellen, dass man den Dateinamen auslesen und dann via <a href="#" onClick="parent.mainFrame.location.href='#top'"> o.ä. das Problem lösen könnte. Leider weiß ich nicht wie ich das machen soll.
wieso lässt Du Dir nicht mir alert genau das ausgeben? Dann weißt du, ob du die href des Frames erwischt hast.
Danach dann leichtes Spiel:
was_auch_immer='#asdfasdfasdf';
old_href=parent.framename.location.href;
parent.framename.location.href = old_href + was_auch_immer;
> Dank und Gruß,
>
> frankx
Hellihello Florian,
na im footer:
alert(parnet.NamedesFrames.location.href);
wenn die Ausgabe stimmt, dann s.u.;
Danke schonmal für die Hilfe. Leider versteh ich nicht ganz, wie ich das per alert ausgeben könnte...
Hellihello Florian,
Hallo,
ich hab mal wieder ein kleines Problem. Ich hab auf meiner Seite folgendes Frameset:<frameset rows="*,70" frameborder="yes" border="0" framespacing="0">
<frame name="mainFrame" src="home.html" marginwidth="10" marginheight="5">
<frame name="footerFrame" scrolling="no" noresize src="footer.html" marginwidth="0" marginheight="0">
</frameset>Ich möchte nun durch Klick auf einen Link in footer.html zum Anker #top in "mainFrame" zu springen und zwar unabhängig davon, welche Datei dort grad angezeigt wird
Ich könnte mir vorstellen, dass man den Dateinamen auslesen und dann via <a href="#" onClick="parent.mainFrame.location.href='#top'"> o.ä. das Problem lösen könnte. Leider weiß ich nicht wie ich das machen soll.
wieso lässt Du Dir nicht mir alert genau das ausgeben? Dann weißt du, ob du die href des Frames erwischt hast.
Danach dann leichtes Spiel:
was_auch_immer='#asdfasdfasdf';
old_href=parent.framename.location.href;
parent.framename.location.href = old_href + was_auch_immer;
> > Dank und Gruß,
> >
> > frankx
Dank und Gruß,
frankx
Hallo nochmal,
ich kriegs leider immer noch nicht hin...
So schaut der Quelltext z.Z. aus:
<html>
<head>
<script type="text/javascript">
anker='#top';
old_href=parent.mainFrame.location.href;
parent.mainFrame.location.href = old_href + anker;
</script>
</head>
<body>
<a href="#" onClick="parent.mainFrame.location.href;">top</a>
</body
</html>
Wenn ich als Eventhandler onClick="alert(parent.mainFrame.location.href);" schreibe, bekomme ich genau die richtige URL, allerdings klappt das Anspringen des Ankers mit dem obengenannten Code nicht...
Hellihello Florian,
na im footer:
alert(parnet.NamedesFrames.location.href);
wenn die Ausgabe stimmt, dann s.u.;
Danke schonmal für die Hilfe. Leider versteh ich nicht ganz, wie ich das per alert ausgeben könnte...
Hellihello Florian,
Hallo,
ich hab mal wieder ein kleines Problem. Ich hab auf meiner Seite folgendes Frameset:<frameset rows="*,70" frameborder="yes" border="0" framespacing="0">
<frame name="mainFrame" src="home.html" marginwidth="10" marginheight="5">
<frame name="footerFrame" scrolling="no" noresize src="footer.html" marginwidth="0" marginheight="0">
</frameset>Ich möchte nun durch Klick auf einen Link in footer.html zum Anker #top in "mainFrame" zu springen und zwar unabhängig davon, welche Datei dort grad angezeigt wird
Ich könnte mir vorstellen, dass man den Dateinamen auslesen und dann via <a href="#" onClick="parent.mainFrame.location.href='#top'"> o.ä. das Problem lösen könnte. Leider weiß ich nicht wie ich das machen soll.
wieso lässt Du Dir nicht mir alert genau das ausgeben? Dann weißt du, ob du die href des Frames erwischt hast.
Danach dann leichtes Spiel:
was_auch_immer='#asdfasdfasdf';
old_href=parent.framename.location.href;
parent.framename.location.href = old_href + was_auch_immer;
> > > Dank und Gruß,
> > >
> > > frankx
> Dank und Gruß,
>
> frankx
Hallo nochmal,
ich kriegs leider immer noch nicht hin...
frankx
Hi again,
hast Du meinen Vorschlag (zweiter von oben) schon mal ausprobiert?
Gruß
Habs grade erst ausprobiert (hatte den Beitrag leider übersehen...), geht aber auch nicht. Danke trotzdem!
Hallo nochmal,
ich kriegs leider immer noch nicht hin...
frankx
Hi again,
hast Du meinen Vorschlag (zweiter von oben) schon mal ausprobiert?Gruß
Habs grade erst ausprobiert (hatte den Beitrag leider übersehen...), geht aber auch nicht. Danke trotzdem!
Wirklich? Habe es selbst auch eben durchgespielt und das läuft so. Was kommt den für ein Fehler (wenn überhaupt)?
Das ist komisch. Fehler kommt keiner, es tut sich einfach nur nix. Als ob ich garnicht geklickt hätte.
Habs grade erst ausprobiert (hatte den Beitrag leider übersehen...), geht aber auch nicht. Danke trotzdem!
Wirklich? Habe es selbst auch eben durchgespielt und das läuft so. Was kommt den für ein Fehler (wenn überhaupt)?
Hellihello Florian,
Das ist komisch. Fehler kommt keiner, es tut sich einfach nur nix. Als ob ich garnicht geklickt hätte.
Nutzt Du Firefox und Webdevloper Tools?
Dank und Gruß,
frankx
Hellihello
<frameset rows="50%,50%">
<frame name="topFrame" src="top.html">
<frame name="bottom" src="bottom.html">
</frameset>
top.html:
<a name="top">
<p>topcontent</p>
... ganz viel inhalt
<p>content</p>
... ganz viel inhalt
<p>bottomcontent</p>
<a name="bottom">
bottom.html:
<script type="text/javascript">
//<![CDATA[
function changeURL(newHref) {
parent.topFrame.location.href=newHref;
}
function goAnchor(anchorName) {
parent.topFrame.location.href="top.html#" + anchorName;
alert(parent.topFrame.location.href);
}
//]]>
</script>
<button onclick="changeURL('http://de.selfhtml.org')">changeURL('http://de.selfhtml.org')</button>
<button onclick="goAnchor('top')">goAnchor('top')</button>
<button onclick="goAnchor('bottom')">goAnchor('bottom')</button>
funzt.
Dank und Gruß,
frankx
Hallo nochmal,
ich hab jetzt wirklich ganz genau alles kopiert und es tut sich wieder nix. Einfach keine Reaktion, keine Fehlermeldung, garnix...
Vielleicht liegt es an irgendwelchen Sicherheiteinstellungen oder was weiß ich... Werd es morgen nochmal auf nem anderen PC probieren.
Dein anderes Posting hab ich auch gesehen. Die Lösung schaut auch interessant aus. Auch das werde ich mir morgen nochmal zu Gemüte führen
Vielen Dank für die Hilfe!
Schönen Abend noch
Florian
Hellihello
<frameset rows="50%,50%">
<frame name="topFrame" src="top.html">
<frame name="bottom" src="bottom.html">
</frameset>top.html:
<a name="top">
<p>topcontent</p>
... ganz viel inhalt
<p>content</p>
... ganz viel inhalt
<p>bottomcontent</p><a name="bottom">
bottom.html:
<script type="text/javascript">
//<![CDATA[function changeURL(newHref) {
parent.topFrame.location.href=newHref;
}
function goAnchor(anchorName) {
parent.topFrame.location.href="top.html#" + anchorName;
alert(parent.topFrame.location.href);
}//]]>
</script><button onclick="changeURL('http://de.selfhtml.org')">changeURL('http://de.selfhtml.org')</button>
<button onclick="goAnchor('top')">goAnchor('top')</button>
<button onclick="goAnchor('bottom')">goAnchor('bottom')</button>
>
> funzt.
>
> Dank und Gruß,
>
> frankx
Hallo nochmal,
Guten Morgen
ich hab jetzt wirklich ganz genau alles kopiert und es tut sich wieder nix. Einfach keine Reaktion, keine Fehlermeldung, garnix...
Vielleicht liegt es an irgendwelchen Sicherheiteinstellungen oder was weiß ich... Werd es morgen nochmal auf nem anderen PC probieren.Dein anderes Posting hab ich auch gesehen. Die Lösung schaut auch interessant aus. Auch das werde ich mir morgen nochmal zu Gemüte führen
Ums dir etwas einfacher zu machen habe ich das mal hochgeladen:
http://www.scherkamp.de/mfg/florianframe/index.html
Das Zip dazu:
http://www.scherkamp.de/mfg/florianframe.zip
Vielen Dank für die Hilfe!
Schönen Abend noch
Florian
Viel Glück
Marcel
Danke schön! Jetzt funktioniert alles genau wie es soll. Falls es dich interessiert: Das Ganze hab ich jetzt auf http://http://www-anorganik.chemie.uni-wuerzburg.de/Braunschweig/index.html eingebaut.
Schöne Grüße und nochmals vielen Dank
Florian
Hallo nochmal,
Guten Morgenich hab jetzt wirklich ganz genau alles kopiert und es tut sich wieder nix. Einfach keine Reaktion, keine Fehlermeldung, garnix...
Vielleicht liegt es an irgendwelchen Sicherheiteinstellungen oder was weiß ich... Werd es morgen nochmal auf nem anderen PC probieren.Dein anderes Posting hab ich auch gesehen. Die Lösung schaut auch interessant aus. Auch das werde ich mir morgen nochmal zu Gemüte führen
Ums dir etwas einfacher zu machen habe ich das mal hochgeladen:
http://www.scherkamp.de/mfg/florianframe/index.html
Das Zip dazu:
http://www.scherkamp.de/mfg/florianframe.zipVielen Dank für die Hilfe!
Schönen Abend noch
Florian
Viel GlückMarcel
Hellihello Florian,
eher so:
Hallo nochmal,
ich kriegs leider immer noch nicht hin...
So schaut der Quelltext z.Z. aus:
<html>
<head>
<script type="text/javascript">
function setAnchor() {
//test:
alert("vorher:"+parent.mainFrame.location.href);
anker='#top';
old_href=parent.mainFrame.location.href;
parent.mainFrame.location.href = old_href + anker;
//test:
alert("nachher:"+parent.mainFrame.location.href);
}
</script>
</head>
<body>
<a href="#" onClick="parent.mainFrame.location.href;">top</a>
</body
</html>Wenn ich als Eventhandler onClick="alert(parent.mainFrame.location.href);" schreibe, bekomme ich genau die richtige URL, allerdings klappt das Anspringen des Ankers mit dem obengenannten Code nicht...
häh? ist das "#anker" mit bei? Ist irgendwo im Mainframe ein <a name="anker">? Klappt das anspringen innerhalb des Mainframes mit einem einfache Link dort?
Dank und Gruß,
frankx
So klappt es leider auch nicht... In der Zieldatei ist nur der eine Anker namens top definiert, genau genommen ist die Datei sonst bis auf ziemlich viele <br>s leer. Direktes Anspringen von top aus dem gleichen Frame klappt einwandfrei.
Hellihello Florian,
eher so:
Hallo nochmal,
ich kriegs leider immer noch nicht hin...
So schaut der Quelltext z.Z. aus:
<html>
<head>
<script type="text/javascript">
function setAnchor() {
//test:
alert("vorher:"+parent.mainFrame.location.href);
anker='#top';
old_href=parent.mainFrame.location.href;
parent.mainFrame.location.href = old_href + anker;
//test:
alert("nachher:"+parent.mainFrame.location.href);
}
</script>
</head><body>
<a href="#" onClick="parent.mainFrame.location.href;">top</a>
</body
</html>Wenn ich als Eventhandler onClick="alert(parent.mainFrame.location.href);" schreibe, bekomme ich genau die richtige URL, allerdings klappt das Anspringen des Ankers mit dem obengenannten Code nicht...
häh? ist das "#anker" mit bei? Ist irgendwo im Mainframe ein <a name="anker">? Klappt das anspringen innerhalb des Mainframes mit einem einfache Link dort?
Dank und Gruß,frankx
Hellihello Florian,
So klappt es leider auch nicht...
Wer ist "klappen". Kommt taucht der Anker in der href nicht auf? dann hast dus nicht richtig gebastelt. Taucht er auf und "wirkt" nicht?
In der Zieldatei ist nur der eine Anker namens top definiert, genau genommen ist die Datei sonst bis auf ziemlich viele <br>s leer. Direktes Anspringen von top aus dem gleichen Frame klappt einwandfrei.
Vermutlich kämst Du Deinem Anliegen anders näher? Wie zB. schon Marshall schrub. Das Ganze kommt mir eher sinnfrei vor.
Dank und Gruß und schönen Abend,
frankx
In dem Alert steht genau die richtige URL samt Anker, nur wenn ich den Alert rausnehme und so drauf klicke, passiert nix.
Der Sinn des Ganzen besteht darin, dass in einer Fußzeile ständig sichtbar (deswegen eigener frame) bestimmte links, u.a. ein "ganz nach oben-Link" verfügbar sein sollen.
Hab es schonmal über einen "css-footer" probiert, indem ich unten 10% vom Bildschirm abgetrennt hab. Das hatte zwar den Vorteil, dass der Footer in der gleichen Datei stand (Anker kein Problem), dafür war der auf größeren Bildschirmen auch entsprechend größer, was optisch nicht gut aussah. Wenn ich dagegen ne bestimmte Pixelhöhe vorgegeben hab, war es eben nur für eine Auflösung geeignet... Hab ich ne feste Höhe für den Footer und ne variable Höhe (z.b. 90%) für das obere Fenster genommen, überschnitten sich teilweise Footer und Scrollbalken...
Alles nicht ganz so einfach ;) Vielen Dank auf jeden Fall für eure Bemühungen!
Hellihello Florian,
So klappt es leider auch nicht...
Wer ist "klappen". Kommt taucht der Anker in der href nicht auf? dann hast dus nicht richtig gebastelt. Taucht er auf und "wirkt" nicht?
In der Zieldatei ist nur der eine Anker namens top definiert, genau genommen ist die Datei sonst bis auf ziemlich viele <br>s leer. Direktes Anspringen von top aus dem gleichen Frame klappt einwandfrei.
Vermutlich kämst Du Deinem Anliegen anders näher? Wie zB. schon Marshall schrub. Das Ganze kommt mir eher sinnfrei vor.
Dank und Gruß und schönen Abend,
frankx
Hellihello Florian,
https://forum.selfhtml.org/?t=161905&m=1060107. Statt height im Content einen Rahmen setzen, den Trick kannte ich auch noch nicht.
Ansonsten kommst Du mit url#anker an den Anker und wenn Du mit framename.location.href das Frame anspricst, muss es gehen. Vielleicht triffst Du das Frameset ja doch nicht. Mal eine andere url probiert?
Dank und Gruß,
frankx
So, ich hab es jetzt auf die Weise umgesetzt, die Marshall vorgeschlagen hat.
Die Seite ist auch schon online: http://www-anorganik.chemie.uni-wuerzburg.de/Braunschweig/index.html
Schöne Grüße und auch dir vielen Dank
Florian
Hellihello Florian,
https://forum.selfhtml.org/?t=161905&m=1060107. Statt height im Content einen Rahmen setzen, den Trick kannte ich auch noch nicht.
Ansonsten kommst Du mit url#anker an den Anker und wenn Du mit framename.location.href das Frame anspricst, muss es gehen. Vielleicht triffst Du das Frameset ja doch nicht. Mal eine andere url probiert?
Dank und Gruß,
frankx
Hallo,
Guten Abend
Ich könnte mir vorstellen, dass man den Dateinamen auslesen und dann via <a href="#" onClick="parent.mainFrame.location.href='#top'"> o.ä. das Problem lösen könnte. Leider weiß ich nicht wie ich das machen soll.
Am einfachsten wäre es wohl, Du packst in deine Inhaltsseiten folgendes Script mit rein:
<script type="text/javascript">
var scrollDahin = function (wohin)
{
document.getElementById(wohin).scrollIntoView(true);
}
</script>
Deinen Top-Anker dann mit einer id versehen (z.B. <a name="top" id="ganzOben"></a>) und in deinen Footer schreibste den Link dann so:
<a href="#" onClick="parent.mainFrame.scrollZu('ganzOben');return false;">top</a>
Denke das müsste so klappen.
Vielen Dank schon im Voraus.
Gruß Marcel