Markus Franzen: Frames ohne Nachteile!?

Beitrag lesen

Hallo zusammen!
Ich habe folgendes Problem:
Meine Homepage besteht aus zwei Frames. Links die Navigationsleiste, recht der eigentliche Inhalt.
Da ich meine Seite bei verschiedenen Suchmaschinen angemeldet habe, sind auch alle Einzelseiten indiziert worden (habe es eine zeitlang mit "Noindex" versucht, wurde aber auch nicht von allen Suchmaschinen befolgt).

Bis jetzt habe ich immer auf jede Seite ganz unten den Vermerk "Fehlt die Navigationsleiste? Bitte hier klicken!" gemacht, der die entsprechende Frameaufteilung öffnete.

In der Zeitschrift "Internet World 9/98" steht jetzt allerdings ein interessanter Artikel. Dort wird beschrieben, wie man mit Hilfe von Javascript überprüfen kann, ob die aufgerufene Unterseite im Frameset aufgerufen worden ist. Ist die nicht der Fall, öffnet sich automatisch der fehlende Rahmen.

Leider ist (für mich) nicht verständlich, wie ich das Script in meine Seiten einbaue, bzw. steht dort etwas von einer externen Javascript-Datei.

Also ganz konkret:
1. Wie muss ich das Script umformen, damit es auch bei meiner Homepage funktioniert?
2. Wie kann ich dann das Script in einer externen Datei ablegen, so dass alle Unterseite auf diese Datei zugreifen können?

Hier noch ein paar Angaben:

Meine Homepage besteht wie oben erwähnt aus zwei Frames. Die Startseite sieht so aus:

<frameset cols=19%,* border=0 frameborder=0 framespacing=0>

<frame src="links.htm" name="Inforahmen"  scrolling=no>

<frame src="start.htm" name="Homepage von Markus Franzen">

</frameset>

In dem Artikel stand bezüglich der externen JS-Datei:

Ab JavaScript 1.1 kann es auch in einer externen Script-Datei via <script language="JavaScript" src="framing.js"> eingebunden werden.

An welcher Stelle müsste ich denn diesen Befehl in meinen Unterseiten einbauen, und wie erstelle ich die datei "framing.js"? Mit einem einfachen Editor und dann einfach die Endung umbenennen?

Über eine Antwort wäre ich euch dankbar, weil das Problem (denke ich) auch viele andere betrifft.

Markus

Hier jetzt das Listing:

<html>
    <head>
    <title>Eine Unterseite</title>
    <script language="JavaScript">
    <!--

function is_msie() {
    return (navigator.appName == "Microsoft Internet Explorer");
    }

function Framing()
    {
    if (this.document == top.document ||
    top.location.host != this.location.host) {
    var pathprefix = location.protocol + '//'
    + location.host
    + location.pathname.substring(0,
    location.pathname.lastIndexOf('/')+1);

var doctitle = document.title;
    document.clear();
    document.open("text/html");
    document.writeln('<html>\n<head><title>' +doctitle+
    '</title></head>');
    document.writeln('<frameset cols="90,*">'+
    '<frame src="'+pathprefix+'buttons.htm" name=buttons>'+
    '<frame src="'+top.location.href+'" name=content>'+
    '</frameset></html>');
    document.close();
    return true;
    }
    return false;
    }

function msieFraming() {
    if (is_msie()) {
    if (Framing()) {
    window.setTimeout('top.frames["content"].location.href = '+
    '"'+top.location.href+'";',10);
    }
    }
    }

function netscFraming() {
    if (!is_msie()) Framing();
    }

msieFraming();
    // -->
    </script>
    </head>
    <body onLoad="netscFraming()">
    <h2>Unterseite</h2>
    Dies ist der Inhalt des Content-Frames.
    </body>
    </html>