Sabina S.: parent.frames[0].location.href tut nur mit vollständigen URL's?

hallo, ich habe ein frameset das 2 vertikal angeordnete frames auf einer seite anzeigt. ich will das ganze mit javascript machen

im oberen zeigt er die gelinkte seite ("hauptseite") an und im unteren die informations leiste.
in der info-leiste gibt es einen link um die "hauptseite" ohne die infoleiste, also vollständig, auf der seite anzuzeigen.
das klappt alles soweit das lokal-referenzierte adressen funktionieren, nur sobald ich vollständige URL's nehme funktioniert das nicht.

hier der link zum "ausblenden"
->

<A HREF="javascript:open(parent.frames[0].location.href,'_top')" ....

link des hauptfensters ist z.b.: "http://forum.de.selfhtml.org/neu.html"

kann mir jemand helfen ?¿
wäre cool :)

andere lösungsvorschläge sind auch willkommen.

danke
-Bina

  1. morgen,
    versuch mal das hier:
    <a href=http://forum.de.selfhtml.org/neu.html target=_top>
    cheers, dm.

    hallo, ich habe ein frameset das 2 vertikal angeordnete frames auf einer seite anzeigt. ich will das ganze mit javascript machen

    im oberen zeigt er die gelinkte seite ("hauptseite") an und im unteren die informations leiste.
    in der info-leiste gibt es einen link um die "hauptseite" ohne die infoleiste, also vollständig, auf der seite anzuzeigen.
    das klappt alles soweit das lokal-referenzierte adressen funktionieren, nur sobald ich vollständige URL's nehme funktioniert das nicht.

    hier der link zum "ausblenden"
    ->

    <A HREF="javascript:open(parent.frames[0].location.href,'_top')" ....

    link des hauptfensters ist z.b.: "http://forum.de.selfhtml.org/neu.html"

    kann mir jemand helfen ?¿
    wäre cool :)

    andere lösungsvorschläge sind auch willkommen.

    danke
    -Bina

    1. morgen,
      versuch mal das hier:
      <a href=http://forum.de.selfhtml.org/neu.html target=_top>
      cheers, dm.

      lol, es sollte schon halbwegs dynamisch sein. sonst würde ch wohl kaum parent.frames[0].location.href verwenden wollen. ;)

      -bina

      1. woher kommt die url, die du anzeigen moechtest?

        lol, es sollte schon halbwegs dynamisch sein. sonst würde ch wohl kaum parent.frames[0].location.href verwenden wollen. ;)

        -bina

        1. woher kommt die url, die du anzeigen moechtest?

          die kommt von der haupt seite per ?link.html übergeben undgeht an den
          frame-initiator also die html wo <frameset ... drin steht
          und geht dann an die datei die den link wieder ausblenden kann.

          -bina

          1. Hi Bina!
            das mit parent.frames[0].location.href habe ich auch schon desöfteren versucht, habe es aber nicht geschafft.

            Aber versuche es mal hiermit:

            Erstelle eine Javascript function wie diese:

            <script ...>
            function chglink() {
               var url = parent.location.search;
                if (url != "")
                 {
                  url = url.substring(1,url.length);
                 }
              open(url,'_top');
            }
            </script>

            und der Link sollte in etwa so aussehen:

            <A HREF="javascript:chglink();"

            greetingz

            -Ranma

            1. Hi Bina!
              das mit parent.frames[0].location.href habe ich auch schon desöfteren versucht, habe es aber nicht geschafft.

              Aber versuche es mal hiermit:

              Erstelle eine Javascript function wie diese:

              <script ...>
              function chglink() {
                 var url = parent.location.search;
                  if (url != "")
                   {
                    url = url.substring(1,url.length);
                   }
                open(url,'_top');
              }
              </script>

              und der Link sollte in etwa so aussehen:

              <A HREF="javascript:chglink();"

              greetingz

              -Ranma

              DANKE das war genau das was ich gesucht habe =)
              grüßle Bina

          2. vielleicht hilf dir das weiter?:

            <a href="javascript:top.location.href(document.u.url.value);">

            sonst kannst du ja wieder lol'en.
            cheers, dm.

            die kommt von der haupt seite per ?link.html übergeben undgeht an den
            frame-initiator also die html wo <frameset ... drin steht
            und geht dann an die datei die den link wieder ausblenden kann.

            -bina

            1. ich sehe eben, dass wenn www.wasauchimmer.com eingegeben wird, es nicht funktioniert. das hier aber schon:

              <a href="javascript:top.location.href('http://' + document.u.url.value);">

              wobei du natuerlich das form vorher checken kannst, ob http:// miteingegeben wurde, oder nicht - und dann entsprechenden link darstellen.
              cheers, dm

              vielleicht hilf dir das weiter?:

              1. Moin,

                <a href="javascript:top.location.href('http://' + document.u.url.value);">

                Davon dass du location.href() in zwei aufeinanderfolgenden Postings benutzt wird es auch nicht richtiger :), es muss natürlich location.href=... heissen.

                PS: Hattest du den selben Fehler im Archiv nicht schon einmal?

                --
                Henryk Plötz
                Grüße aus Berlin

                1. morgen,
                  und ich glaube wir hatten uns auch schon mal daruerb ausgelassen, dass es dennoch funktioniert ;-)
                  cheers, dm.

                  Davon dass du location.href() in zwei aufeinanderfolgenden Postings benutzt wird es auch nicht richtiger :), es muss natürlich location.href=... heissen.

                  PS: Hattest du den selben Fehler im Archiv nicht schon einmal?

                  --
                  Henryk Plötz
                  Grüße aus Berlin

                  1. Moin,

                    und ich glaube wir hatten uns auch schon mal daruerb ausgelassen, dass es dennoch funktioniert ;-)

                    Öhm, ich glaube mich gar nicht zu dunkel daran erinnern zu können (http://forum.de.selfhtml.org/archiv/2002/2/4887/) dass es nicht nur haarsträubend falsch ist (http://selfhtml.teamone.de/javascript/objekte/location.htm#href) sondern noch dazu in jedem Browser der JavaScript richtig unterstützt (und da ist der IE offensichtlich kaputt) eben nicht funktioniert.

                    Warum machst du es nicht einfach richtig und erhältst, zusätzlich dazu dass es richtig ist und in jedem JavaScript-konformen Browser funktioniert, auch noch als Nebeneffekt dass richtige location.href=... genau ein Zeichen weniger zu tippen ist als das flashce location.href(...). Na wenn das kein Anreiz ist ;)

                    --
                    Henryk Plötz
                    Grüße aus Berlin

            2. vielleicht hilf dir das weiter?:

              <a href="javascript:top.location.href(document.u.url.value);">

              sonst kannst du ja wieder lol'en.
              cheers, dm.

              die kommt von der haupt seite per ?link.html übergeben undgeht an den
              frame-initiator also die html wo <frameset ... drin steht
              und geht dann an die datei die den link wieder ausblenden kann.

              -bina

              das einzige was so geholfen hat wie ich es mir vorstellte war Ranmas post, danke Ranma

              ach übrigens da sind 2 fehler drin:
               - document.u.url.value gibt nen fehler aus -> syntax error
               - location.href muß mit '=' zugewiesen werden

              hat also nen doppel LOL verdient ;) *g*

              Bina

  2. guten Morgen,

    <A HREF="javascript:open(parent.frames[0].location.href,'_top')"

    ^^^^^^^^
    ? Was willst du denn da machen ? Was dir vorschwebt, ist, das Linkziel nach "_top" zu laden, also ganz nach "oben" im Browser (und in der Browser-hisrory). Das geht nun einmal mit solchen dynamischen Aufrufen nicht in gleicher Weise wie bei "normalen" links, bei denen du target-Vorgaben machst ... das "target" ist ja bereits mit "parent.frames..." vorgegeben.

    Möglich wäre:
    top.location.href='datei.htm'
    womit dann die Framekonstruktion verschwunden ist. Willst du die Framekonstruktion beibehalten und eine Seite in dein erstes Frame laden, müßtest du schreiben:
    parent.frames[0].location.href='datei.htm')

    und es empfiehlt sich eigentlich, das nicht direkt im <a>-tag zu machen, sondern dafür eine Javascript-Funktion im Header zu schreiben:
    <script language="javascript">
    function oeffnen(){
    parent.frames[0].location.href="datei.htm";
    }

    im body schreibst du deinen link dann so:
    <a href="javascript:oeffnen()">

    das sollte es ungefähr bringen.

    erfolgreiches Wochenende

    Christoph S.