uwater: Frameset nachladen (ich verwende allerdings iframes!)

hallo,

ich habe ein problem, wo mir bisher keiner weiterhelfen konnte.

wenn ich einen besucher meiner homepage per url dirrekt auf eine seite verweisen möchte, bzw. dieser aus einer suchmaschine auf eine seite verwiesen wird, öffnet sich leider nur die jeweilige seite. ich möchte allerdings dass er auch das naviagationsmenü links und rechts sowie den head angezeigt bekommt, welcher auf der startseite (inhalt.html) erzeugt wird. wichtig! es werden iframes benutzt

in der <url=href://www.wegatec.de/home/news.html>beispielseite</url>, auf die der besucher dirrekt zugreift, habe ich folgenden code ergänzt:

<script language="JavaScript">
<!--
 function checkFrameset()
 {
  if(!parent)
   location.href="G:/Internet/inhalt.html?" + location.pathname;
 }
//-->
</script>

<body onLoad='checkFrameset()'>

und auf der <url=http://www.wegatec.de/inhalt.html>seite</url>, wo das iframe vorhanden ist, wurde folgender code ergänzt:

<script type="text/javascript">
<!--
 function checkFramecall() {
  var Adressanhang=location.search;
  if(Adressanhang)
  location.href=Adressanhang.substring(1,Adressanhang.length);
 }
//-->
</script>

in selfhtml habe ich zudem folgendes gefunden. es steht geschrieben, dass auf meiner inhalt.html seite folgendes noch ergänzt werden müsse:

<frameset onLoad="checkFramecall()">

doch ich benutze keine frames sonder iframes. leider funktioniert das ganze nicht. kann mir jemand helfen wie ich den code ändern muss damit ich zu einer funktionierenden lösung komme?

vielen dank

uwater

  1. Kann mir hierbei niemand helfen??

  2. Hallo Uwater,

    in selfhtml habe ich zudem folgendes gefunden. es steht geschrieben, dass auf meiner inhalt.html seite folgendes noch ergänzt werden müsse:

    <frameset onLoad="checkFramecall()">

    doch ich benutze keine frames sonder iframes. leider funktioniert das ganze nicht. kann mir jemand helfen wie ich den code ändern muss damit ich zu einer funktionierenden lösung komme?

    Dann schreib das auf deiner Seite doch einfach mal in das <body>- oder <iframe>-Tag also

    <body onLoad="checkFramecall()"> oder
    <iframe onLoad="checkFramecall()">

    Gruß Gernot

    1. Hallo Gernot,

      auch wenn ich das betreffende in den body bzw. iframe schreibe ändert sich garnichts. ich verzweifle langsam und weiß nicht mehr weiter.

      habe ich vielleicht einen fehler gemacht?

      uwater

      1. Hallo Uwater,

        auch wenn ich das betreffende in den body bzw. iframe schreibe ändert sich garnichts. ich verzweifle langsam und weiß nicht mehr weiter.

        habe ich vielleicht einen fehler gemacht?

        Davon ist auszugehen. Wo hast du denn die JS-Funktionen eingebaut?

        function checkFrameset(){
          if(!parent)
           location.href="G:/Internet/inhalt.html?" + location.pathname;

        // Díe lokale Adresse^^^^^^^^^^^^^^^^^^^^^^^

        }

        scheint ja auch nicht so gut mit deinem anderen location.path, der sich auf das WWW bezieht, "http://www.wegatec.de/inhalt.html" zusammenzupassen. Wo testest du denn, lokal oder im Netz?

        Stell es doch mal ins Netz, dann kann man das besser beurteilen.

        Gruß Gernot

        1. Hallo Uwater,
          Sehe gerade, du hast es ja bereits im Netz;

          Probier doch das mal:

          function checkFrameset(){
            if(!parent)

          location.href="http://www.wegatec.de/inhalt.html?" + location.pathname;

          }

          Gruß Gernot

  3. Hi!

    Ich sitze gerade an dem selben Problem,
    aber bis auf eine Kleinigkeit(?) klappt soweit alles.

    Hauptseite mit 2 iFrames:
    http://www.fotodesignberlin.de/fdb-onlinetest/index-tabelle.html

    iFrame-1:
    http://www.fotodesignberlin.de/fdb-onlinetest/inhalt.html

    iFrame-2:
    http://www.fotodesignberlin.de/fdb-onlinetest/unten.html

    ----------------------------------------------------

    ...das hier steht bei mir in den Einzelseiten:

    <head>
    <SCRIPT language="JavaScript">
      <!--
       function checkFrameset() {
       if(!parent.inhalt)
       location.href="http://www.fotodesignberlin.de/fdb-onlinetest/index-tabelle.html?" + location.pathname;
       }
      //-->
    </SCRIPT>
    </head>

    <body onLoad='checkFrameset()'>

    ----------------------------------------------------

    ... und das hier im "iFrameset"

    <head>
    <SCRIPT language="JavaScript">
      <!--
      function checkFramecall() {
      var Adressanhang=location.search;
      if(Adressanhang)
      frames.inhalt.location.href=Adressanhang.substring(1,Adressanhang.length);
      }
      //-->
    </SCRIPT>

    </head>

    <body onLoad="checkFramecall()">

    ----------------------------------------------------

    So, nun mein Problem besteht in der Zeile:

    frames.inhalt.location.href=Adressanhang.substring(1,Adressanhang.length);

    Dort ist der Frame "inhalt" als Ziel definiert.
    Das ist auch gut so und funktioniert prima, wenn ich den Inhalt dieses Frames wieder an die entsprechende Stelle haben will.
    Allerdings ist das Problem, dass nun auch der Inhalt des anderen iFrame "unten" in eben diesem Frame "inhalt" angezeigt wird.

    Was muß ich nun machen, also was muß ich statt "inhalt" an diese Stelle in der oben genannten Zeile einsetzten, damits mit beiden Frames funktioniert.
    Also ich brauche irgendeine allgemeine Variable oder so.
    Leide habe ich kaum Ahnung von solchen Scripten, außer, dass ich einigermaßen logische Sachen selbstständig tauschen oder einfügen kann. Das wars dann aber auch schon.
    Hoffe jemande hat eine Lösung.

    • tommy -
    1. Hab jetzt eine Lösung gefunden,
      und jetzt funktioniert auch alles so, wie es soll.

      was ich gesucht hatte war "content" statt "inhalt".

      Das Script im "iFrameset" lautet nun:

      <SCRIPT language="JavaScript">
        <!--
        function checkFramecall() {
        var Adressanhang=location.search;
        if(Adressanhang)
        frames.content.location.href=Adressanhang.substring(1,Adressanhang.length);
        }
        //-->
       </SCRIPT>

      Allerdings zeigt mir der InternetExplorer unten links in der Statusleiste ein kleines "Fehlermeldungs-Icon an".
      Wenn ich raufklicke erschein folgendes:

      Zeile:23
      Zeichen:3
      Fehler: 'frames.content.location' ist Null oder kein Objekt
      Code: 0
      URL: http://www.fotodesignberlin.de/fdb-onlinetest/index-tabelle.html?/fdb-onlinetest/unten.html

      Was kann das bedeuten???

      • tommy -
  4. ihr seid die besten, vielen danke
    meine fehler sind behoben und es funktioniert

    ich habe nun das beispiel von NetKilla angewand und meine quellcode soweit verbessert.

    uwater

    1. Hab gerade gesehen, dass Du mein Script nur für Deinen Hauptframe "Inhalt" übernommen hast.

      Dein Frame rechts mit dem Blauen Engel bleibt aber stehen, wenn man ihn einzeln lädt.

      Kann Dir empfehlen in den Body dieses 2ten Frames folgendes einzubetten:

      <body onLoad="if (parent.frames.length==0) top.location='http://www.deineseite.de/home';">

      Dabei wird der Frame zwar nicht wie bei der anderen Variante in ein bestimmtes Frame geladen, sondern einfach das ganze Frameset neu geladen, aber das ist ja bei dem Teil sicherlich auch egal.

      • tommy -