karlheinz: Framset: Seite aus Suchmaschine mit Frameset laden

Hallo Leute,

habe ein Problem:
Kommt jemand aus einer Suchmaschine auf meine Seite, so möchte ich, dass diese mit dem Frameset angezeigt wird.

if (top.location == self.location) {
top.location = '../../index.htm'
}

Mit dieser Geschichte erhält der Besucher die Hauptseite. Index.htm enthält das Frameset.

if (top.location == self.location) {
top.location = '../../index.htm?irgendwas.html'
}

Hier sollte doch nun die Seite, die der Besucher anklickt mit dem Frameset kommen, oder?

Ist aber nicht. Kann mir hierzu jemand helfen?

Gruss
Karlheinz

  1. Moin Moin !

    Du weist einem Objekt einen String zu. Das funktioniert bestenfalls zufällig. Du willst die href-Eigenschaft ändern. Lies SelfHTML für mehr Details.

    Alexander

    --
    Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
    1. Hi,

      Du weist einem Objekt einen String zu. Das funktioniert bestenfalls zufällig. Du willst die href-Eigenschaft ändern. Lies SelfHTML für mehr Details.

      Es geht aber!

      wenn man sich window.location ausgeben lässt, steht da nicht etwas
      [object Location] oder so... sondern der href-Wert!

      Gruß
      Christian

      1. Moin Moin !

        Es geht aber!

        Es funktioniert zufällig in diversen Browsern, weil diese Browser Fehlerkorrekturmechanismen für blöde Javascript-Kopierer eingebaut haben.

        Der Weg über href funktioniert immer.

        Warum soll man mutwillig fehlerhaften Code schreiben?

        Alexander

        --
        Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
  2. Hi,

    if (top.location == self.location) {
    top.location = '../../index.htm?irgendwas.html'
    }

    Hier sollte doch nun die Seite, die der Besucher anklickt mit dem Frameset kommen, oder?

    kann ja auch nicht. wenn dann müsste es so heißen:

    index.php?seite=irgendwas.html

    du brauchst dazu PHP code in der index:

    <?php

    echo "<frame src="$seite">";

    ?>

    so ungefähr...

    Christian

  3. Hallo Karlheinz,

    damit der Besucher die richtige Unterseite im Fenster bekommt, musst du natürlich in deiner Rahmenseite dafür sorgen, dass das Fenster auch damit aufgerufen wird.
    Schritt 1: In der Unterseite prüfst du, ob sie unter dem richtigen Fensternamen, den du ja im Rahmensystem definierst, aufgerufen wird.
    Ist das nicht der Fall, rufst du dein Rahmensystem:

    top.location.href = "rahmen.html?unterseite.html";

    Schritt 2:
    Dein Rahmensystem extrahiert den Parameter und definiert seine Fenster in Javascript:

    var Ziel = location.search;

    Ziel = (Ziel != "") ? slice (Ziel, 1) : "startseite.html";

    document.write ('<frame src="' + Ziel + '" ... >');

    Ich benutze diese Technik seit langem, es funktioniert perfekt.

    Gruß
    Manfred

    Hallo Leute,

    habe ein Problem:
    Kommt jemand aus einer Suchmaschine auf meine Seite, so möchte ich, dass diese mit dem Frameset angezeigt wird.

    if (top.location == self.location) {
    top.location = '../../index.htm'
    }

    Mit dieser Geschichte erhält der Besucher die Hauptseite. Index.htm enthält das Frameset.

    if (top.location == self.location) {
    top.location = '../../index.htm?irgendwas.html'
    }

    Hier sollte doch nun die Seite, die der Besucher anklickt mit dem Frameset kommen, oder?

    Ist aber nicht. Kann mir hierzu jemand helfen?

    Gruss
    Karlheinz

    1. Moin Moin !

      Ich benutze diese Technik seit langem, es funktioniert perfekt.

      Naja, wenn man einen halbwegs aktuellen Browser mit eingeschaltetem Javascript benutzt. Ohne JS passiert GAR NICHTS. Das halte ich nicht für "perfekt".

      Das Problem läßt sich "perfekt" nur serverseitig lösen, z.B. mit PHP, ASP, JSP, mod_perl, CGI, oder anderen Techniken.

      Alexander

      --
      Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
    2. Hallo Manfred,

      document.write ('<frame src="' + Ziel + '" ... >');

      Ich benutze diese Technik seit langem, es funktioniert perfekt.

      danke, ich werde dies heute Abend gleich mal versuchen.

      Gruss
      Karlheinz