Probleme mit Innenframedarstellung

Hallo JAVA-Experte

Ich habe ein kleines Problem mit der Darstellung der Ausgabe der beiden JAVA-Scripte meiner Seite. Diese stammen verschiedenen Internetseiten und wurden von mir entsprechend meiner Seiten umgeschrieben. Für diese Zeilen habe ich sie nochmals auf das Wesentliche verkürzt, aber so wie sie unten stehen müßten sie problemlos funktioneren.

Die HTML-Seite enthält zwei Buttons und ein Innenframe.

Das erste Script ist eine Suchmaschine für Stichwörter meiner Seiten.

Das zweite Script zeichnet einen Menübaum mit mehreren Untermenüs.

Eigentlich soll das ganze folgendermaßen funktionieren (mir ist schon klar, daß das mit alten Browsern nicht richtig klappt!).

  • beim Laden der Seite erscheint im Innenframe „framestartseite.htm“

  • beim drücken des ersten Buttons wird im Innenframe eine bestimmte normale HTML-Seite ohne Scripts dargestellt („beliebig.htm“)

  • beim Drücken des zweiten Buttons wird der Menübaum (suchmenue.js) im Innenrame angezeigt. Man kann einen Menüpunkt auswählen, der zur gewünschten Seite führt, die im aktuellen Fenster bzw. bei entsprechender Wahl (siehe script) im einem neuen Fenster geladen wird

  • bei Eingabe eines Suchbegriffes im Formular werden die Ergebnisse durch suchmaschine.js im Innenframe angezeigt.
    Man kann ein Suchergebnis auswählen, das zur gewünschten Seite führt, die im aktuellen Fenster geladen wird.

Aber es passiert folgendes.

  • das gewählte Suchergebnis wird im Innenframe oder im neuen Fenster angezeigt???

  • sobald der Menübaum erstmalig im Innenframe geladen wurde, werden die Suchergebnisse und „beliebig.htm“ im neuen Fenster angezeigt???

Ich habe schon verschiedene Varianten ausprobiert, die das Ergebnis veränderten, aber so wie es sein sollte, habe ich es noch nie hinbekommen.

Bitte, bitte wenn Du eine Ahnung hast, wie die Scripts nach meinen Vorstellungen angezeigt werden, dann lass mich nicht weiter verzweifeln.

Im Voraus Vielen vielen Dank

Daniel

DER HTML-TEIL:

anzeigefenster

Suchbegriff

DAS ERSTE SCRIPT ( SUCHMASCHINE.JS )

/*

  • Anlegen der Variablen „suchbegriff“, „beschreibung“ und „adresse“
  • enthalten Daten des „Object“
    */

suchbegriff = new Object();
beschreibung = new Object();
addresse = new Object();

/*

  • Festlegen wieviele Suchbegriffe der Variablen „suchbegriff“ zugeordnet werden
    */

suchbegriff[0] = 26

/*

  • Definition der Variablen :
  • suchbegriff ( führt bei Eingabe in der Suchmaske zur zugehörigen Seite )
  • beschreibung ( erscheint im Suchergebnisfenster beim jeweiligen Link )
  • adresse ( das Suchergebnis verweist auf diese Datei )
    */

suchbegriff[1] = „suchbegriff1“
beschreibung[1] = „BESCHREIBUNG“
addresse[1] = „s1.htm“

suchbegriff[2] = „suchbegriff2“
beschreibung[2] = „BESCHREIBUNG“
addresse[2] = „s2.htm“

suchbegriff[3] = „suchbegriff3“
beschreibung[3] = „BESCHREIBUNG“
addresse[3] = „s3.htm“

/*

  • Definition der Funktion „durchsuchen“
    */

function durchsuchen()

{

/*

  • Definition der Variable „fundergebnis“
  • Definition der Variable „eingabe“
  • document ( Beziehung zu aktuellem Browserfenster mit Suchmaske )
  • forms ( Zugriff auf erstes Formular „suchenach“ im HTML-Code der Suchmasken-Seite )
  • value ( in Suchmaske eingegebener Begriff )
  • toLowerCase ( Umwandlung von Gross- in Kleinbuchstaben )
    */

var fundergebnis = false

var eingabe = document.forms[0].suchenach.value.toLowerCase();

var doc = top.menufenster.window.document

doc.clear()

doc.write("")

doc.opener = window;

doc.opener.name = „haupt“;

doc.write (" ??? ");

doc.write ("
Suchergebnisse für den Begriff : „+eingabe+“ ")

/*

  • Zuordnung der „eingabe“ zu vorhandenem „suchbegriff“
    */
    for (var i=1; i „+beschreibung[i]+“")

doc.write ("              Ansehen ")

}

}

/*

  • Ausgabe bei nicht vorhandenem „suchbegriff“
    */

if(!fundergebnis)

doc.write (" Dieser Begriff befindet sich nicht in der Suchdatenbank! ")

}

DAS ZWEITE SCRIPT ( SUCHMENUE.JS )

function gesamtmenu()

{

/*

  • Anlegen der Variablen „pkt1“, „pkt2“, „pkt3“ ( Menüpunkte )
    */

var pkt1, pkt2, pkt3, pkt4

/*

  • Definition der Variablen „wurzel“ ( „hauptmenu“ entspricht den Hauptmenüs )
    */

wurzel = hauptmenu(„Gesamtindex“)

/*

  • Definition der Variablen „pkt1“, „pkt2“, „pkt3“
  • „zuordnung“ erklärt Zuordnung der childmenüs
  • „untermenu“ erklärt childmenüs
  • „eintrag“ erklärt childmenüeinträge
  • „ausgabe“ 0 oder 1 entspricht Öffnen in Frame oder neuem Fenster
  • „beschreibung“ erklärt Seiteninhalt
  • „link“ erklärt zu öffnende Seite
    */

pkt1 = zuordnung(wurzel, hauptmenu(„buchstabe a“))

pkt2 = zuordnung(pkt1, untermenu(„aa“))

zuordnung(pkt2, eintrag(0, „aaa“, „aaa.htm“, „“))

zuordnung(pkt2, eintrag(0, „aab“, „aab.htm“, „“))

pkt2 = zuordnung(pkt1, untermenu(„ab“))

zuordnung(pkt2, eintrag(0, „aba“, „aba.htm“, „“))

zuordnung(pkt2, eintrag(0, „abb“, „abb.htm“, „“))

zuordnung(pkt2, eintrag(0, „abc“, „abc.htm“, „“))

pkt1 = zuordnung(wurzel, hauptmenu(„buchstabe b“))

pkt2 = zuordnung(pkt1, untermenu(„ba“))

zuordnung(pkt2, eintrag(1, „baa“, „baa.htm“, „“))

zuordnung(pkt2, eintrag(1, „bab“, „bab.htm“, „“))

zuordnung(pkt2, eintrag(1, „bac“, „bac.htm“, „“))

}

/*
Definition der Funktion „hauptmenu“
*/

function hauptmenu(name)

{

/*

  • Anlegen der Variablen „pktordnung“ ( Zuordnung der Menüpunkte )
    */

var pktordnung

pktordnung = new Array

pktordnung[0] = 0

pktordnung[1] = 0

pktordnung[2] = 0

pktordnung[3] = name

return pktordnung

}

/*
Definition der Funktion „untermenu“
*/

// pktiliary function to build the node
// The entries in arraypkt[4]…array[length-1] are strings built in generate doc entry

function untermenu(name)

{

/*

  • Anlegen der Variablen „pktordnung“ ( Zuordnung der Menüpunkte )
    */

var pktordnung

pktordnung = new Array

pktordnung[0] = 0

pktordnung[1] = 0

pktordnung[2] = 1

pktordnung[3] = name

return pktordnung

}

//this way the generate tree function becomes simpler and less error prone
function zuordnung(parent, child)

{
parent[parent.length] = child

return child

}

/*
Definition der Funktion „eintrag“
*/

function eintrag(ausgabe, beschreibung, link)

{

var ausgabeort =""

if (ausgabe==0)

ausgabeort = „“ + beschreibung + „“

return ausgabeort

}

/*
Definition der Funktion „nurwurzelzeigen“
*/

function wurzelzeigen()

{

var doc = top.menufenster.window.document

doc.clear()

doc.opener = window;

doc.opener.name = „haupt“;

doc.write("")

menustruktur(wurzel, doc, 0, 1, „“)

doc.close()

}

/*
Definition der Funktion „menustruktur“
*/

function menustruktur(menulaenge, doc, level, letztesmenu, verbindung)

{

var j=0

var i=0

doc.write("")

doc.write("")

doc.write(verbindung)

if (level>0)

if (letztesmenu)

{

doc.write("")

verbindung = verbindung + „“

}

else

{

doc.write("")

verbindung = verbindung + „“

}

ordnergrafik(menulaenge, doc)

doc.write("")

if (menulaenge.length > 4 && menulaenge[0]) // sub-nodes and the folder is open

{

if (!menulaenge[2]) //for folders with folders

{

level=level+1

for (i=4; i")

doc.write("")

doc.write(verbindung)

if (i==menulaenge.length - 1)

doc.write("")

else

doc.write("")

doc.write(menulaenge[i])

doc.write("")
}

}

}

}

/*
Definition der Funktion „ordnergrafik“
*/

//builds the html code to display a folder and its label

function ordnergrafik(menulaenge, doc)

{

doc.write("")

else

doc.write(„closedfolder.gif width=24 height=22 border=noborder>“)

doc.write("")

doc.write(""+menulaenge[3]+"")

}

/*
Definition der Funktion „menugeschlossen“
*/

//when a parent is closed all children also are

function menugeschlossen(menulaenge)

{

var i=0

if (!menulaenge[2])

{

for (i=4; i

Hallo JAVA-Experte

Ich habe ein kleines Problem mit der Darstellung der Ausgabe
der beiden JAVA-Scripte meiner Seite. Diese stammen
verschiedenen Internetseiten und wurden von mir entsprechend
meiner Seiten umgeschrieben. Für diese Zeilen habe ich sie
nochmals auf das Wesentliche verkürzt, aber so wie sie unten
stehen müßten sie problemlos funktioneren.

Im Voraus Vielen vielen Dank

Daniel

Hallo Dainel,

das ist für Java-Script leider das falsche Formur. Java und Java-Scrip haben im Namen nur die ersten 4 Buchstaben gemeinsam und das auch nur weil Nestscape damals hoffe seine Livescriptsprache besser vermarketen zukönnen. Versuchs unter Scriptsprachen.

Thomas