Lutz Duevel: JAVA-Script: Frames-Adress.-Problem

Hallo zusammen,

einige der CIS-User kennen sicher die WebForen von CompuServe schon.
Nachdem die letztens in Deutschland "relauncht" wurden, herrscht
zu meinem Leidwesen eine regelrechte Frames-Orgie.
Beispiel eines WebForums - nur wer es sich mal ansehen möchte :
http://forum.compuserve.de/germoney/

Als SysOp so eines Forums, möchte ich gerne per Java-Script in
einem normalen Verweis ("a href ..") einen Link auslösen. Man kann
in den WebForen auf jede Messie oder Datei direkt verweisen. Wenn
man die entsprechende URL-Syntax mit Parametern verwendet, baut die
WebForen-Engine dann automatisch die Frames um und zeigt die Messie
oder eine Messie Section, die Datei oder eine Datei-Section usw.

Da die URL's mir zu kompliziert sind, wollte ich eine kleine Java-
Script-Shell schreiben, in der mit kleinen (leichter schreib- und
merkbaren) Funktionen die Link-URL's generiert und sofort ausgeführt
werden.

Stefans SELFTHTML-Doku entnehme ich, daß man das in einem FrameSet
nicht normal per "window.location.url =" lösen kann. Eine entsprechende
Fehlermeldung habe ich so auch bekommen.

!Das große Problem ist, daß in der deutschen Ansicht der WebForen
das untere Haupt-FrameSet irgendwie per cgi auf dem Server generiert
wird - die Dokument-Info gibt aus :

<FRAMESET ROWS="46,*" BORDER=0 FRAMEBORDER=0 FRAMESPACING=0>
<FRAME NAME=Banner SRC="http://www.compuserve.de/branding/banner1.html">
<FRAME NAME=Default SRC="../cgi-bin/member.pl?DeutschesFinanz">
</FRAMESET>
<<

Der darin ausgegebene untere Frame ('Default') enthält jedoch weitere
Frames(->ein eigenes Frameset), die der Browser aber scheinbar nicht "sieht".
Frames.length gibt 2 aus, es sind aber deutlich mehr.

Wenn ich mir den Namen des gewissen Frames mit 'this.name' ausgeben
lasse, erhalte ich schon eine Bezeichnung (-> "WhatsNew"). Versuche ich
dann aber über "parent.WhatsNew.location.url =" bzw. "top.WhatsNew.location.url ="
zu ändern, kriege ich die Fehlermeldung 'window.WhatsNew has no property
location'.
Der Browser registriert den Frame also nicht oder gibt einen falschen Namen aus !?

Gibt's da eine Lösung ?
Oder ist es ganz falsch, wie ich hier eine neue Seite in einem Frame aufbauen will
bzw. gibt es eine andere Methode als mit 'location.url' ?

Besten Dank für Hints, seien sie noch so minimal <g>

und Grüße, Lutz

  1. Hallo Lutz,

    ich habe Deine Nachricht jetzt schon  3x gelesen. Aber begriffen habe ich es einfach nicht :-(

    Beispiel eines WebForums - nur wer es sich mal ansehen möchte :
    http://forum.compuserve.de/germoney/

    Das klappt leider auch nicht. Der erzaehlt was von einer Benutzerbeglaubigung. Muss man da ueber Compuserve rein? Das wollte ich mir nun nicht extra antun :-(

    Stefans SELFTHTML-Doku entnehme ich, daß man das in einem FrameSet
    nicht normal per "window.location.url =" lösen kann. Eine entsprechende
    Fehlermeldung habe ich so auch bekommen.

    Du kannst auch andere Frames ansprechen. Wie? Kann man nicht sagen, wenn man die Struktur nicht kennt.
    Zum Referenzieren ueber Framegrenzen hinweg gibt's hier was:
    http://irb-www.informatik.uni-dortmund.de/~sm/aw/js/faq/, u.a. unter "Wie kann ich auf Variablen und Objekte in einem anderen Fenster oder Frame zugreifen?"
    Vielleicht hilft das schon.
    Oder geht es um ganz was anderes?
    Langer Rede kurzer Sinn:
    Wenn es das nicht war, sich niemand finden sollte, der besser begreift, was Du moechtest, versuch's bitte nochmal mit einer Erklaerung.

    Christine