Marc: Referrer wenn Startseite ein Frameset ist

Hi Group.

Ich habe ein kleines Problem. Habe auch schon das Archiv durchgeschaut. Dort wurde zwar schon auf ein ähnliches Problem eingegangen, aber ich bin trotz allen nicht zu einer Lösung gekommen.

Ich versuche die ganze Zeit einen Referrer auszulesen, aber leider ohne großen Erfolg. Ich denke, das Problem liegt daran, dass meine Startseite mit einem Frameset startet und somit die Anweisung "documet" nicht gültig ist.

Ein Auszug aus meiner index.htm:

var REF = document.referrer;
var BrowserName = navigator.appName;
var BrowserVersion = navigator.appVersion;
//-->
</SCRIPT>
<frameset rows="*,0" BORDER=0 FRAMEBORDER=0 FRAMESPACING=0 MARGINWIDTH="0" MARGINWIDTH="0">
  <frame src="/home.htm" name="main" MARGINWIDTH="0" MARGINHEIGHT="0">
  <frame src="/blank.htm" name="batch" MARGINWIDTH="0" MARGINHEIGHT="0" SCROLLING="NO" NORESIZE>
</frameset>
</head>
<noframes>

Und hier ein Auszug meiner home.htm, wo ich gerne den Referrer meiner index.htm verarbeiten möchte:

</SCRIPT>
</HEAD>
<BODY>
<script language="JavaScript">
<!--
 document.write(top.REF.link(top.REF));
 document.write(top.document.referrer.link(top.document.referrer));
// -->
</script>
<div id="Anleitung" style="position:absolute; left:26; top:284; width:101; height:23;">

Leider bekomme ich weder von "top.REF" noch von "top.document.referrer" ein Wert zurück. "document.referrer" in meiner "home.htm" würde mir meine index.htm als referrer zurückgeben.

Ich verzweifel langsam und hoffe das mir jemand von Euch helfen kann.

Vielen Dank im voraus für Eure Bemühungen

Gruß´Marc

  1. Hi,

    Ich denke, das Problem liegt daran, dass meine Startseite mit einem Frameset startet

    ja; je nach Browser wird da in den einzelnen Frames das Frameset selbst als Referrer angesehen.

    und somit die Anweisung "documet" nicht gültig ist.

    Nein. Jedes window-Objekt hat auch (sofern ein Dokument darin ist natürlich) ein document-Objekt.

    var REF = document.referrer;

    Versuche es mit top.document.referrer.

    Leider bekomme ich weder von "top.REF"

    Das bringt nichts, weil Du im Frame top kein Objekt namens REF definiert hast.

    noch von "top.document.referrer" ein Wert zurück.

    Das ist merkwürdig. Bist Du sicher, daß es überhaupt einen Referrer gibt?

    Cheatah

    1. YO danke für Deine Antwort!!!

      Hi,

      Ich denke, das Problem liegt daran, dass meine Startseite mit einem Frameset startet

      ja; je nach Browser wird da in den einzelnen Frames das Frameset selbst als Referrer angesehen.

      und somit die Anweisung "documet" nicht gültig ist.

      Nein. Jedes window-Objekt hat auch (sofern ein Dokument darin ist natürlich) ein document-Objekt.

      var REF = document.referrer;

      Versuche es mit top.document.referrer.

      die Variable REF ist bei mir in der index.htm und somit direkt im Frameset angesidelt.

      Wie sieht es aus? mein Frameset ist ja direkt auf der Startseite. Dort ist auch ein Body definiert. Aber ich denke, dass der Body durch das Frameset überschieben wird und dann kein document-tag zulässig ist?!?!????

      Leider bekomme ich weder von "top.REF"

      Das bringt nichts, weil Du im Frame top kein Objekt namens REF definiert hast.

      siehe oben

      noch von "top.document.referrer" ein Wert zurück.

      Das ist merkwürdig. Bist Du sicher, daß es überhaupt einen Referrer gibt?

      Es sollte einen Refferer geben, da ich diese Seite von einer anderen URL über einen absoluten Link aufrufe.

      Cheatah

      Marc

      1. Hi,

        die Variable REF ist bei mir in der index.htm und somit direkt im Frameset angesidelt.

        ach so. Ja, dann enthält top.REF den Referrer, über den der Benutzer auf Deine Site gekommen ist.

        mein Frameset ist ja direkt auf der Startseite.

        Hm? Welche Startseite? Die Deiner Site, oder die Deines Browsers? Im letzten Fall gibt es natürlich keinen Referrer.

        Aber ich denke, dass der Body durch das Frameset überschieben wird und dann kein document-tag zulässig ist?!?!????

        Das document-Objekt(!) ist auch vorhanden, wenn es sich bei dem Dokument um ein Frameset handelt. Selbst bei "about:blank" gibt es ein document-Objekt.

        Es sollte einen Refferer geben, da ich diese Seite von einer anderen URL über einen absoluten Link aufrufe.

        Ja. Kannst Du die Seite evtl. mal hier verlinken, und testweise z.B. über alert() Dein top.REF ausgeben lassen?

        Btw: Mit welchen Browsern hast Du das Problem?

        Cheatah

        1. Hi,

          die Variable REF ist bei mir in der index.htm und somit direkt im Frameset angesidelt.

          ach so. Ja, dann enthält top.REF den Referrer, über den der Benutzer auf Deine Site gekommen ist.

          so sollte es sein!

          mein Frameset ist ja direkt auf der Startseite.

          Hm? Welche Startseite? Die Deiner Site, oder die Deines Browsers? Im letzten Fall gibt es natürlich keinen Referrer.

          Startseite der Site. Ich weiss, dass der Referrer nur gezeigt wird, wenn die site über eine absolute URL aufgerufen wird.

          Aber ich denke, dass der Body durch das Frameset überschieben wird und dann kein document-tag zulässig ist?!?!????

          Das document-Objekt(!) ist auch vorhanden, wenn es sich bei dem Dokument um ein Frameset handelt. Selbst bei "about:blank" gibt es ein document-Objekt.

          Hmm, dann sollte schon im Frameset ein Javascript:alert(document.referrer) den Referrer ausgeben. Funktioniert aber leider nicht. Es funktioniert nur, wenn die Seite kein Frameset enthält.

          Es sollte einen Refferer geben, da ich diese Seite von einer anderen URL über einen absoluten Link aufrufe.

          Ja. Kannst Du die Seite evtl. mal hier verlinken, und testweise z.B. über alert() Dein top.REF ausgeben lassen?

          Ist ne gute Idee, mir aber leider im Moment die Hände gebunden und ich habe erst morgen wieder die möglichkeit solch einen link anzubieten. Wärst Du so nett morgen dann nochmal draufzuschauen?

          Btw: Mit welchen Browsern hast Du das Problem?

          Ganz normal mit IE5

          Gruß Marc

          1. Hi,

            Ich weiss, dass der Referrer nur gezeigt wird, wenn die site über eine absolute URL aufgerufen wird.

            nein, sondern wenn die Seite über einen Link, ein Formular oder eine ähnliche Referenz erreicht wurde.

            Hmm, dann sollte schon im Frameset ein Javascript:alert(document.referrer) den Referrer ausgeben.

            Ja. Den, den der Client für den Referrer dieses Dokuments hält. IIRC ist das beim IE das Frameset, bei Netscape 4 der Referrer von top.

            Funktioniert aber leider nicht.

            "Funktioniert nicht" funktioniert nicht. Beschreibung, bitte.

            Wärst Du so nett morgen dann nochmal draufzuschauen?

            Poste dann einfach den Link, wenn Du so weit bist.

            Btw: Mit welchen Browsern hast Du das Problem?

            Ganz normal mit IE5

            Wie, Du hast nur mit _einem_ Browser getestet?! Oder tritt das Problem bei anderen einfach nicht auf?

            Cheatah

            1. Hi,

              Ja. Den, den der Client für den Referrer dieses Dokuments hält. IIRC ist das beim IE das Frameset, bei Netscape 4 der Referrer von top.

              Das verstehe ich leider nicht.

              Poste dann einfach den Link, wenn Du so weit bist.

              Gut mache ich!

              Wie, Du hast nur mit _einem_ Browser getestet?! Oder tritt das Problem bei anderen einfach nicht auf?

              Habe das Problem auch im Netscape 4.73

              Bis Morgen Marc

              1. Hi,

                Ja. Den, den der Client für den Referrer dieses Dokuments hält. IIRC ist das beim IE das Frameset, bei Netscape 4 der Referrer von top.

                Das verstehe ich leider nicht.

                reduziere meine Antwort auf "ja". Es kommt nur u.U. nicht das Ergebnis, das Du erwartest :-)

                Cheatah