Dropdownmenu soll 3-frames seite öffnen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • antwortet
    Immer locker bleiben. Obwohl, herrje, du hättest nicht gleich den gaaaanzen Code bringen müssen. Hätte auch der Schluß gereicht.

    In dem letzten Teil ist ja wohl in jeder Zeile eine andere Referenzierung des Top-Frames drin.
    Also, bei mir klappt's prima, wenn ich über

    javascriptarent.frame_top.document.location.href='datei.htm'

    die sache aufrufe. Direkt nach parent also den Framenamen, dann erstmal das Dokument des Frames ansprechen und letztendlich auf die Location des Dokuments zugreifen und neuladen.

    Sollte nun auch bei dir klappen. Falls nicht, schreib doch lieber erstmal eine kurze Antwort, vielleicht reicht mir das ja auch schon aus... :-))

    Einen Kommentar schreiben:


  • antwortet
    Hier der Code des menus:

    //****************************************************************
    // You are free to copy the "Folder-Tree" script as long as you // keep this copyright notice:
    // Script found in: http://www.geocities.com/Paris/LeftBank/2178/
    // Author: Marcelino Alves Martins (martins@hks.com) December '97.
    //****************************************************************

    // Definition of class Folder

    // *****************************************************************
    function Folder(folderDescription, hreference) //constructor
    {
    //constant data
    this.desc = folderDescription
    this.hreference = hreference
    this.id = -1
    this.navObj = 0
    this.iconImg = 0
    this.nodeImg = 0
    this.isLastNode = 0
    //dynamic data
    this.isOpen = true
    this.iconSrc = "ftv2folderopen.gif"
    this.children = new Array
    this.nChildren = 0
    //methods
    this.initialize = initializeFolder
    this.setState = setStateFolder
    this.addChild = addChild
    this.createIndex = createEntryIndex
    this.hide = hideFolder
    this.display = display
    this.renderOb = drawFolder
    this.totalHeight = totalHeight
    this.subEntries = folderSubEntries
    this.outputLink = outputFolderLink
    }

    function setStateFolder(isOpen)
    {
    var subEntries
    var totalHeight
    var fIt = 0
    var i=0
    if (isOpen == this.isOpen)
    return
    if (browserVersion == 2)
    {
    totalHeight = 0
    for (i=0; i < this.nChildren; i++)
    totalHeight = totalHeight + this.children[i].navObj.clip.height
    subEntries = this.subEntries()
    if (this.isOpen)
    totalHeight = 0 - totalHeight
    for (fIt = this.id + subEntries + 1; fIt < nEntries; fIt++)
    indexOfEntries[fIt].navObj.moveBy(0, totalHeight)
    }

    this.isOpen = isOpen

    propagateChangesInState(this)
    }

    function propagateChangesInState(folder)
    {
    var i=0
    if (folder.isOpen)
    {
    if (folder.nodeImg)
    if (folder.isLastNode)
    folder.nodeImg.src = "ftv2mlastnode.gif"
    else
    folder.nodeImg.src = "ftv2mnode.gif"
    folder.iconImg.src = "ftv2folderopen.gif"
    for (i=0; i<folder.nChildren; i++)
    folder.children[i].display()
    }
    else
    {

    if (folder.nodeImg)
    if (folder.isLastNode)
    folder.nodeImg.src = "ftv2plastnode.gif"
    else
    folder.nodeImg.src = "ftv2pnode.gif"
    folder.iconImg.src = "ftv2folderclosed.gif"
    for (i=0; i<folder.nChildren; i++)
    folder.children[i].hide()
    }
    }

    function hideFolder()
    {
    if (browserVersion == 1) {
    if (this.navObj.style.display == "none")
    return
    this.navObj.style.display = "none"
    } else {
    if (this.navObj.visibility == "hiden")
    return
    this.navObj.visibility = "hiden"
    }

    this.setState(0)
    }

    function initializeFolder(level, lastNode, leftSide)
    {
    var j=0
    var i=0
    var numberOfFolders
    var numberOfDocs
    var nc

    nc = this.nChildren
    this.createIndex()

    var auxEv = ""

    if (browserVersion > 0)
    auxEv = "<a href='javascript:clickOnNode("+this.id+")'>"
    else
    auxEv = "<a>"
    if (level>0)
    if (lastNode) //the last 'brother' in the children array
    {
    this.renderOb(leftSide + auxEv + "<img name='nodeIcon" + this.id + "' src='ftv2mlastnode.gif' width=16 height=22 border=0></a>")
    leftSide = leftSide + "<img src='ftv2blank.gif' width=16 height=22>"
    this.isLastNode = 1
    }
    else
    {
    this.renderOb(leftSide + auxEv + "<img name='nodeIcon" + this.id + "' src='ftv2mnode.gif' width=16 height=22 border=0></a>")
    leftSide = leftSide + "<img src='ftv2vertline.gif' width=16 height=22>"
    this.isLastNode = 0
    }
    else
    this.renderOb("")

    if (nc > 0)
    {
    level = level + 1
    for (i=0 ; i < this.nChildren; i++)
    {
    if (i == this.nChildren-1)
    this.children[i].initialize(level, 1, leftSide)
    else
    this.children[i].initialize(level, 0, leftSide)
    }
    }
    }

    function drawFolder(leftSide)
    {
    if (browserVersion == 2) {
    if (!doc.yPos)
    doc.yPos=8
    doc.write("<layer id='folder" + this.id + "' top=" + doc.yPos + " visibility=hiden>")
    }

    doc.write("<table ")
    if (browserVersion == 1)
    doc.write(" id='folder" + this.id + "' style='position:block;' ")
    doc.write(" border=0 cellspacing=0 cellpadding=0>")
    doc.write("<tr><td>")
    doc.write(leftSide)
    this.outputLink()
    doc.write("<img name='folderIcon" + this.id + "' ")
    doc.write("src='" + this.iconSrc+"' border=0></a>")
    doc.write("</td><td valign=middle nowrap>")
    if (USETEXTLINKS)
    {
    this.outputLink()
    doc.write(this.desc + "</a>")
    }
    else
    doc.write(this.desc)
    doc.write("</td>")
    doc.write("</table>")
    if (browserVersion == 2) {
    doc.write("</layer>")
    }

    if (browserVersion == 1) {
    this.navObj = doc.all["folder"+this.id]
    this.iconImg = doc.all["folderIcon"+this.id]
    this.nodeImg = doc.all["nodeIcon"+this.id]
    } else if (browserVersion == 2) {
    this.navObj = doc.layers["folder"+this.id]
    this.iconImg = this.navObj.document.images["folderIcon"+this.id]
    this.nodeImg = this.navObj.document.images["nodeIcon"+this.id]
    doc.yPos=doc.yPos+this.navObj.clip.height
    }
    }

    function outputFolderLink()
    {
    if (this.hreference)
    {
    doc.write("<a href='" + this.hreference + "' TARGET=\"basefrm\" ")
    if (browserVersion > 0)
    doc.write("onClick='javascript:clickOnFolder("+this.id+")'")
    doc.write(">")
    }
    else
    doc.write("<a>")

    // doc.write("<a href='javascript:clickOnFolder("+this.id+")'>")
    }

    function addChild(childNode)
    {
    this.children[this.nChildren] = childNode
    this.nChildren++
    return childNode
    }

    function folderSubEntries()
    {
    var i = 0
    var se = this.nChildren
    for (i=0; i < this.nChildren; i++){
    if (this.children[i].children) //is a folder
    se = se + this.children[i].subEntries()
    }

    return se
    }

    // Definition of class Item (a document or link inside a Folder)
    // *************************************************************

    function Item(itemDescription, itemLink) // Constructor
    {
    // constant data
    this.desc = itemDescription
    this.link = itemLink
    this.id = -1 //initialized in initalize()
    this.navObj = 0 //initialized in render()
    this.iconImg = 0 //initialized in render()
    this.iconSrc = "ftv2doc.gif"
    // methods
    this.initialize = initializeItem
    this.createIndex = createEntryIndex
    this.hide = hideItem
    this.display = display
    this.renderOb = drawItem
    this.totalHeight = totalHeight
    }


    function hideItem()
    {
    if (browserVersion == 1) {
    if (this.navObj.style.display == "none")
    return
    this.navObj.style.display = "none"
    } else {
    if (this.navObj.visibility == "hiden")
    return
    this.navObj.visibility = "hiden"
    }
    }


    function initializeItem(level, lastNode, leftSide)
    {
    this.createIndex()
    if (level>0)
    if (lastNode) //the last 'brother' in the children array
    {
    this.renderOb(leftSide + "<img src='ftv2lastnode.gif' width=16 height=22>")
    leftSide = leftSide + "<img src='ftv2blank.gif' width=16 height=22>"
    }
    else
    {
    this.renderOb(leftSide + "<img src='ftv2node.gif' width=16 height=22>")
    leftSide = leftSide + "<img src='ftv2vertline.gif' width=16 height=22>"
    }
    else
    this.renderOb("")
    }

    function drawItem(leftSide)
    {
    if (browserVersion == 2)
    doc.write("<layer id='item" + this.id + "' top=" + doc.yPos + " visibility=hiden>")
    doc.write("<table ")
    if (browserVersion == 1)
    doc.write(" id='item" + this.id + "' style='position:block;' ")
    doc.write(" border=0 cellspacing=0 cellpadding=0>")
    doc.write("<tr><td>")
    doc.write(leftSide)
    doc.write("<a href=" + this.link + ">")
    doc.write("<img id='itemIcon"+this.id+"' ")
    doc.write("src='"+this.iconSrc+"' border=0>")
    doc.write("</a>")
    doc.write("</td><td valign=middle nowrap>")
    if (USETEXTLINKS)
    doc.write("<a href=" + this.link + ">" + this.desc + "</a>")
    else
    doc.write(this.desc)
    doc.write("</table>")
    if (browserVersion == 2)
    doc.write("</layer>")
    if (browserVersion == 1) {
    this.navObj = doc.all["item"+this.id]
    this.iconImg = doc.all["itemIcon"+this.id]
    } else if (browserVersion == 2) {
    this.navObj = doc.layers["item"+this.id]
    this.iconImg = this.navObj.document.images["itemIcon"+this.id]
    doc.yPos=doc.yPos+this.navObj.clip.height
    }
    }

    // Methods common to both objects (pseudo-inheritance)
    // ********************************************************
    function display()
    {
    if (browserVersion == 1)
    this.navObj.style.display = "block"
    else
    this.navObj.visibility = "show"
    }

    function createEntryIndex()
    {
    this.id = nEntries
    indexOfEntries[nEntries] = this
    nEntries++
    }

    // total height of subEntries open
    function totalHeight() //used with browserVersion == 2
    {
    var h = this.navObj.clip.height
    var i = 0
    if (this.isOpen) //is a folder and _is_ open
    for (i=0 ; i < this.nChildren; i++)
    h = h + this.children[i].totalHeight()
    return h
    }

    // Events
    // *********************************************************
    function clickOnFolder(folderId)
    {
    var clicked = indexOfEntries[folderId]
    if (!clicked.isOpen)
    clickOnNode(folderId)
    return
    if (clicked.isSelected)
    return
    }

    function clickOnNode(folderId)
    {
    var clickedFolder = 0
    var state = 0
    clickedFolder = indexOfEntries[folderId]
    state = clickedFolder.isOpen
    clickedFolder.setState(!state) //open<->close
    }

    function initializeDocument()
    {
    if (doc.all)
    browserVersion = 1 //IE4
    else
    if (doc.layers)
    browserVersion = 2 //NS4
    else
    browserVersion = 0 //other
    foldersTree.initialize(0, 1, "")
    foldersTree.display()
    if (browserVersion > 0)
    {
    doc.write("<layer top="+indexOfEntries[nEntries-1].navObj.top+">&nbsp;</layer>")
    // close the whole tree
    clickOnNode(0)
    // open the root folder
    clickOnNode(0)
    }
    }

    // Auxiliary Functions for Folder-Treee backward compatibility
    // *********************************************************
    function gFld(description, hreference)
    {
    folder = new Folder(description, hreference)
    return folder
    }

    function gLnk(target, description, linkData)
    {
    fullLink = ""
    switch (target) {
    case 0:
    fullLink = "'"+linkData+"' target=\"basefrm\"";
    break;
    case 1:
    fullLink = "'../bereichshandbuch/"+linkData+"' target=_blank";
    break;
    case 3:
    fullLink="'"+linkData+"' target=\"basefrm\"";
    break;
    default:
    fullLink = "'../bereichshandbuch/"+linkData+"' target=\"basefrm\"";
    }

    linkItem = new Item(description, fullLink)
    return linkItem
    }

    function insFld(parentFolder, childFolder)
    {
    return parentFolder.addChild(childFolder)
    }

    function insDoc(parentFolder, document)
    {
    parentFolder.addChild(document)
    }
    // Global variables
    // ****************

    USETEXTLINKS = 1
    indexOfEntries = new Array
    nEntries = 0
    doc = document
    browserVersion = 0
    selectedFolder=0

    hier der code für die Navigation

    foldersTree = gFld("<i>Bereichshandbuch</i>")
    aux1 = insFld(foldersTree, gFld("Projektvorbereitung",""))
    insDoc(aux1, gLnk(3, "01.01.01", "javascriptarent.parent.frames.frame_top.location.href=\"frametop2.htm\"; parent.frames.basefrm.location.href=\"../bereichshandbuch/01.01.01.doc\"; "))
    insDoc(aux1, gLnk(3, "01.01.02", "javascriptarent.frames.frame_top.location.href=\"frametop.htm\"; parent.frames.basefrm.location.href=\"../bereichshandbuch/01.01.02.doc\";"))
    insDoc(aux1, gLnk(3, "01.01.03", "javascriptarent.frames.frame_top.location.href=\"frametop.htm\"; parent.frames.basefrm.location.href=\"../bereichshandbuch/01.01.03.doc\"; "))
    insDoc(aux1, gLnk(3, "01.01.04", "javascriptarent.frames.frame_top.location.href=\"frametop2.htm\"; parent.frames.basefrm.location.href=\"../bereichshandbuch/01.01.04.doc\";"))

    ...beliebig erweiterbar.

    so das problem ist er lädt bei mir IE 5.5
    den oberen Frame nicht wenn ich im Menu einen Punkt anklicke
    als wenn er es nicht finden würde obwohl es im gleichen Ordner liegt. Das Doc öffnet er, aber den oberen Frame nicht
    kann das irgendwie damit zusammenhängen das auf der Startseite ein neues Frameset erstellt wird?
    ich komme auf jedenfall nicht weiter...

    Gruß

    Verena

    Einen Kommentar schreiben:


  • antwortet
    argh du hast ja gar keine mailaddi angegeben

    Einen Kommentar schreiben:


  • antwortet
    ich mail dir den mal dann hast du den kompletten Code

    Einen Kommentar schreiben:


  • antwortet
    Schick doch mal deinen jetzigen Code. So ins Blaue kann ich dir nicht viel helfen.

    Einen Kommentar schreiben:


  • antwortet
    bekomme zwei Fehler einmal im Header Laufzeitfehler : parent.beam
    und dann im anderen Code bei auswert(this.form)

    Sind jetzt übrigens doch einige Probleme aufgetreten, und zwar wenn ich von der Startseite aus den Frame generiere
    und dann im Frameset im Menu einen Punkt anklicke findet er anscheinend den Topframe nicht auf jedenfall steht da immer Seite konnte nicht gefunden werden und ich kriege den FEhler nicht raus.

    Gruß und guten Morgen

    Verena

    Einen Kommentar schreiben:


  • antwortet
    Wow, war ja echt knifflig. Ist nicht so einfach, wenn der Code wieder überschrieben wird....

    aber hier ist es:

    <html>
    <head>
    <script>
    <!--
    laufendeNummer= new Array(10);
    projekte= new Array(10);
    laufendeNummer[1]=["frametop.htm", "../bereichshandbuch/01.01.03.doc","vsb","test1@test.de"];
    laufendeNummer[2]=["frametop.htm", "../bereichshandbuch/01.01.03.doc","vsb","test2@test.de"];
    laufendeNummer[3]=["frametop.htm", "../bereichshandbuch/01.01.03.doc","vsb","test3@test.de"];
    projekte[1]=["frametop.htm", "../bereichshandbuch/01.01.03.doc","vsb","test4@test.de"];
    projekte[2]=["frametop.htm", "../bereichshandbuch/01.01.03.doc","vsb","test5@test.de"];
    projekte[3]=["frametop.htm", "../bereichshandbuch/01.01.03.doc","vsb","test6@test.de"];
    function auswert(form) {
    var navarray=new Array;
    var ausgabe='';

    if (form.name=="test") {
    if (form.zielnummer.selectedIndex==0) return;
    navarray=laufendeNummer[form.zielnummer.selectedIndex];
    } else {
    if (form.zielprojekte.selectedIndex==0) return;
    navarray=projekte[form.zielprojekte.selectedIndex];
    }
    zielemail=navarray[3];

    ausgabe+='<html>';
    ausgabe+='<script> function beam() {top.frame_top.document.email.secret.value="'+zielemail+'";}</';
    ausgabe+='script>';
    ausgabe+='<frameset rows="100,*" frameborder="0" framespacing="0" border="0">';
    ausgabe+='<frame name="frame_top" src="'+navarray[0]+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">';
    ausgabe+='<frameset cols="200,*" frameborder="0" framespacing="0" border="0">';
    ausgabe+='<frame name="frame_left" src="photosturismLF.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">';
    ausgabe+='<frame name="basefrm" src="'+navarray[1]+'" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">';
    ausgabe+='</frameset>';
    ausgabe+='</frameset>';
    //ausgabe+='<noframes><body>Ihr Browser unterst&uuml;tzt keine Frames.<br>This page uses frames, but your browser doesn\'t support them.<br>';
    //ausgabe+='</body></noframes>';
    ausgabe+='</html>';

    document.open();
    document.write(ausgabe);
    document.close();
    }
    //->
    </script>
    </head>

    <body>

    <p>&nbsp;</p>
    <form name="test">
    <p><font size="1" face="Verdana">
    <select name="zielnummer" size="1">
    <option>Laufende Nummer</option>
    <option>01.01.01</option>
    <option>01.01.02</option>
    <option>01.01.03</option>
    </select>
    <input type="button" value="Go" width="200" onClick="auswert(this.form)" name="button">
    </font></p>
    </form>
    <form name="test2">
    <p><font size="1" face="Verdana">
    <select name="zielprojekte" size="1">
    <option>Projekteingang / -erfassung</option>
    <option>Projekteckdaten prüfen / ermitteln</option>
    <option>Vorgaben Versorgungsanfrage</option>
    <option>SAP-Aufträge prüfen und an Referate weiterleiten</option>
    <option>Projektübergabe an Referat</option>
    </select>
    <input type="button" value="Go" width="200" onClick="auswert(this.form)" name="button">
    </font></p>
    </form>

    </body>
    </html>


    und hier die Header-Seite:

    <html>
    <head>
    <title>Header Testseite</title>
    <script>
    function zeige() {
    parent.beam();
    document.links[0].href="mailto:"+document.email.secret.value;
    }
    </script></head>

    <body onload="zeige()">
    <form name="email"><input type="hidden" name="secret" value=""></form>
    <a href="" target="_new">Email an Cheffe</a>
    </body>
    </html>


    Ich hoffe, es klappt alles (bei mir hat's das!) und du kommst damit zurecht....

    Bis dann

    Einen Kommentar schreiben:


  • antwortet
    es soll nach der Startsite im Frame erscheinen, im oberen Frame soll also von der Startseite aus generierbar sein und vom Menu aus, achja Menu funktioniert jetzt auch soweit!
    *grinst und das alles ohne Java Script Kenntnisse ;-)*

    Gruß

    Verena

    Einen Kommentar schreiben:


  • antwortet
    An welcher Stelle soll denn dieser besagte Button auftauchen?? Folgende Seiten im Frameset oder schon auf der Startseite? Letzteres wäre dann ja nach der Wahl eines Menüpunktes, oder??
    Falls es das ist, geht das auch. Sag erstmal Bescheid, was es ist....

    Einen Kommentar schreiben:


  • antwortet
    Ich habs hinbekommen mit nem Teil deines Script und nem Teil meines Script aber frage mich nicht wie es läuft auf jedenfall.

    So jetzt habe ich noch eine Sache, mein Kollege meinte es wäre möglich die Topseite (da soll immer der Ansprechpartner mit emailaddi mailto:bla@bla.de drinstehen)
    dynamisch zu generieren. Ich schicke dir den Code jetzt erstmal rüber:

    <!--
    laufendeNummer= new Array(10);
    projekte= new Array(10);
    laufendeNummer[1]=["frametop.htm", "../bereichshandbuch/01.01.03.doc","vsb"];
    laufendeNummer[2]=["frametop.htm", "../bereichshandbuch/01.01.03.doc","vsb"];
    laufendeNummer[3]=["frametop.htm", "../bereichshandbuch/01.01.03.doc","vsb"];
    projekte[1]=["frametop.htm", "../bereichshandbuch/01.01.03.doc","vsb"];
    projekte[2]=["frametop.htm", "../bereichshandbuch/01.01.03.doc","vsb"];
    projekte[3]=["frametop.htm", "../bereichshandbuch/01.01.03.doc","vsb"];
    function auswert(form) {
    var navarray=new Array;
    var ausgabe='';

    if (form.name=="test") {
    if (form.zielnummer.selectedIndex==0) return;
    navarray=laufendeNummer[form.zielnummer.selectedIndex];
    } else {
    if (form.zielprojekte.selectedIndex==0) return;
    navarray=projekte[form.zielprojekte.selectedIndex];
    }
    ausgabe+='<html>';
    ausgabe+='<frameset rows="100,*" frameborder="0" framespacing="0" border="0">';
    ausgabe+='<frame name="frame_top" src="'+navarray[0]+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">';
    ausgabe+='<frameset cols="200,*" frameborder="0" framespacing="0" border="0">';
    ausgabe+='<frame name="frame_left" src="photosturismLF.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">';
    ausgabe+='<frame name="basefrm" src="'+navarray[1]+'" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">';
    ausgabe+='</frameset>';
    ausgabe+='</frameset>';
    //ausgabe+='<noframes><body>Ihr Browser unterst&uuml;tzt keine Frames.<br>This page uses frames, but your browser doesn\'t support them.<br>';
    ausgabe+='</body></noframes>';
    ausgabe+='</html>';

    document.open();
    document.write(ausgabe);
    document.close();
    }
    //->
    </script>
    </head>

    <body>

    <p>&nbsp;</p>
    <form name="test">
    <p><font size="1" face="Verdana">
    <select name="zielnummer" size="1">
    <option>Laufende Nummer</option>
    <option>01.01.01</option>
    <option>01.01.02</option>
    <option>01.01.03</option>
    </select>
    <input type="button" value="Go" width="200" onClick="auswert(this.form)" name="button">
    </font></p>
    </form>
    <form name="test2">
    <p><font size="1" face="Verdana">
    <select name="zielprojekte" size="1">
    <option>Projekteingang / -erfassung</option>
    <option>Projekteckdaten prüfen / ermitteln</option>
    <option>Vorgaben Versorgungsanfrage</option>
    <option>SAP-Aufträge prüfen und an Referate weiterleiten</option>
    <option>Projektübergabe an Referat</option>
    </select>
    <input type="button" value="Go" width="200" onClick="auswert(this.form)" name="button">
    </font></p>
    </form>

    </body>
    </html>

    fällt dir da irgendwas ein wie ich das generieren kann? ohne PHP!! *seufz* nen button mit der Emailaddresse des Ansprechpartners zu dem Doc...

    Wenn ich das habe brauche ich nur noch einpflegen *aufseufz*

    Gruß

    Verena

    *sich jetzt erstmal eine rauchen geht nach dem Streß*

    Einen Kommentar schreiben:


  • antwortet
    Nee, hab's getestet und ich konnte leider kein Cookie schreiben.

    Bleibt wirklich nur die umständliche Lösung mit if-Anweisungen (würde ich nicht empfehlen) oder eben die Variante, daß die Header-Datei sich die Daten von der Content-Seite holt.

    Einen Kommentar schreiben:


  • antwortet
    Da fällt mir gerade noch eine Lösung ein für den Header. Anstatt eine ellenlange Liste mit if-Anweisungen für die unterschiedlichen Header-Dateien zu bauen, könntest du auch einen Cookie schreiben (bevor das Frameset geschrieben wird). In das Cookie schreibt man dann nur das Thema/Überschrift -> eine einzige Header-Datei, die im Frameset fest geladen wird, liest cookie und gibt je nach dem eben die Überschrift aus.

    Vorteil: die Überschrift könnte auch über die Select-option-Value mitgegeben werden. Also sehr komprimiert.

    Nachteil: ich weiß noch nicht, ob das geht mit dem Cookie schreiben, da die Start-Datei ja schon existiert und "nur" überschrieben wird. Müßte man testen....

    Einen Kommentar schreiben:


  • antwortet
    Hi du,

    hier wäre mal so testmäßig eine Seite, die deine Auswahlboxen bereitstellt und nach der Wahl wird der Inhalt der Seite per Javascript mit einem Frameset überschrieben.

    Du mußt bei den select-options in den option-Tags als value die Zieldatei angeben. Wird dann als Inhalt geladen. Navigation ist als feste Datei im Frameset drin. Das mit dem Header ist ein bißchen kniffelig. Wenn da nur ne Überschrift stehen soll, dann würde ich da ne leere Seite laden und da dann von der thematisch richtigen Inhaltsseite aus ins obere Frame den passenden Inhalt reinwurschteln. Nee, noch besser wäre anstatt leerer Seite eine Seite, die aus der Content-Seite per Javascript das Thema ausliest und bei sich als Überschrift ausgibt.

    Äh, das alles fehlt hier natürlich noch, aber erstmal ein Anfang, gell?! Schau erstmal, ob das so okay ist...


    <html>
    <head>
    <title>Dropdown</title>
    <script language="Javascript">
    <!--
    var ausgabe="";
    var datei_header="";
    var datei_inhalt="";

    function auswert(form)
    {
    datei_inhalt=form.value;
    if (datei_inhalt=="test1.html") datei_header="header_test1.html";
    else if (datei_inhalt=="test1.html") datei_header="header_test1.html";
    else if (datei_inhalt=="test2.html") datei_header="header_test2.html";
    else if (datei_inhalt=="test3.html") datei_header="header_test3.html";

    ausgabe+='<html>';
    ausgabe+='<frameset rows="100,*" frameborder="0" framespacing="0" border="0">';
    ausgabe+='<frame name="header" src="'+datei_header+'" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">';
    ausgabe+='<frameset cols="200,*" frameborder="0" framespacing="0" border="0">';
    ausgabe+='<frame name="navigation" src="navigation.html" marginwidth="0" marginheight="0" scrolling="no" frameborder="0">';
    ausgabe+='<frame name="inhalt" src="'+datei_inhalt+'" marginwidth="0" marginheight="0" scrolling="auto" frameborder="0">';
    ausgabe+='</frameset>';
    ausgabe+='</frameset>';
    ausgabe+='<noframes><body>Ihr Browser unterst&uuml;tzt keine Frames.<br>This page uses frames, but your browser doesn\'t support them.<br></body></noframes>';
    ausgabe+='</html>';

    document.open();
    document.write(ausgabe);
    document.close();
    }
    //->
    </script>
    </head>

    <body>

    <p>&nbsp;</p>
    <form name="test1">
    <p><font size="1" face="Verdana">
    <select name="wohin" size="1">
    <option value="laufende.html">Laufende Nummer</option>
    <option value="test1.html">01.01.01</option>
    <option value="test2.html">01.01.02</option>
    <option value="test3.html">01.01.03</option>
    <option value="test4.html">01.01.04</option>
    </select>
    <input type="button" value="Go" width="200" onClick="auswert(this.form)" name="button">
    </font></p>
    </form>
    <form name="test2">
    <p><font size="1" face="Verdana">
    <select name="wohin" size="1">
    <option value="test5.html">Projekteingang / -erfassung</option>
    <option value="test6.html">Projekteckdaten prüfen / ermitteln</option>
    <option value="test7.html">Vorgaben Versorgungsanfrage</option>
    <option value="test8.html">SAP-Aufträge prüfen und an Referate weiterleiten</option>
    <option value="test9.html">Projektübergabe an Referat</option>
    </select>
    <input type="button" value="Go" width="200" onClick="auswert(this.form)" name="button">
    </font></p>
    </form>

    </body>
    </html>

    Einen Kommentar schreiben:


  • antwortet
    Hi erstmal,
    war übers Wochenende weg.


    <Tja, das Problem mit solchen Codes ist, daß, wenn sie nicht <1:1 funktionieren, du nix dran machen kannst, da es meist <schnell geht, wenn man's selber neu macht. An vorhanden <Skripten rumdoktern dauert immer länger...

    Tja das Problem ist nur ich kann kein Java-Script.

    <Laß mal das Skript weg und sag lieber mal, was du genau für <Anforderungen hast. Was weiß ich jetzt schon: du hast ne
    <Startseite mit ner Dropdown-Box zur Auswahl eines Themas. <Was soll dann folgen? Du willst doch ein spezielles <Frameset zu jedem Thema, oder? Viele Themen sind's denn?
    <Wenn dir alte Browser wurscht sind, dann könntest du das <über Schreiben eines dynamischen Inhaltes der Startseite <machen.

    Das ganze muß nur im Internet Explorer laufen, ist fürs Intranet gedacht. Also ich habe eine Startseite mit 2 Dropdownmenues in beiden sind eindeutige Sachen vorgegeben,
    es ist egal aus welchem Menu ich einen Punkt nehme. Es soll dann ein Frameset geöffnet werden, links die Navigation, oben ein Frame mit sozusagen einer Überschrift die passend zum ausgewählten Dokument sein muß und rechts die main mit dem Inhalt des Dokuments. Es muß also von der Startseite aus das Frameset geladen werden und die Seiten oben und rechts individuell zum klick (möglichst ohne jedesmal ein neues Frameset aufzurufen weil dann bin ich noch lange beschäftigt bei 150 Menuepunkten) und wenn ich das Menu benutze
    auch 2 Seiten oben und rechts.


    <Oder (wohl für alle Browser okay) für jedes Thema ein <spezielles Frameset aufrufen (einfach). Willst du <allerdings innerhalb des Themas nochmals Seiten <unterscheiden, wird schwieriger. Dann geht's (da du kein <PHP hast, stimmt doch, oder?!) mit neuschreiben der <Startseite über document.write

    <Wenn du sagst, was du willst, helfe ich dir gern, aber bei <dem anderen Skript.... dauert zu lange.

    Das wäre super, weil wie gesagt PHP kann ich nicht nutzen und Java Script kann ich nicht.

    Hier der Startseitencode, habe ihn ein bißchen gekürzt das es 150 Menupunkte sind. Da das Ganze auch von unwissenden Leuten hier gepflegt werden muß wäre es ganz schön wenn das Menue einfach zu pflegen ist wie bei dem Code oben der hat nämlich das Menu ausgelagert in ner anderen Datei so das man nur noch die Links einbauen muß.
    So jetzt aber hier der Startseitencode, ob der so stimmt weiß ich allerdings auch net.

    <html>

    <head>
    <title>Dropdown</title>
    <script language="Javascript">
    <!--
    sprungziel= new Array(3);
    sprungziel[0]="test.htm"
    sprungziel[1]="test1.htm"
    sprungziel[2]="test2.htm"

    function auswert(form)
    {
    location=sprungziel[form.wohin.selectedIndex]
    }

    sprungziel= new Array(3);
    sprungziel[0]="test.htm"
    sprungziel[1]="test1.htm"
    sprungziel[2]="test2.htm"

    function auswert(form)
    {
    location=sprungziel[form.wohin.selectedIndex]
    }
    //->
    </script>
    </head>

    <body>

    <p>&nbsp;</p>
    <form name="test">
    <p><font size="1" face="Verdana">
    <select name="wohin" size="1">
    <option>Laufende Nummer</option>
    <option>01.01.01</option>
    <option>01.01.02</option>
    <option>01.01.03</option>
    <option>01.01.04</option>
    </select>
    <input type="button" value="Go" width="200" onClick="auswert(this.form)" name="button">
    </font></p>
    </form>
    <form name="test">
    <p><font size="1" face="Verdana">
    <select name="wohin" size="1">
    <option>Projekteingang / -erfassung</option>
    <option>Projekteckdaten prüfen / ermitteln</option>
    <option>Vorgaben Versorgungsanfrage</option>
    <option>SAP-Aufträge prüfen und an Referate weiterleiten</option>
    <option>Projektübergabe an Referat</option>
    </select>
    <input type="button" value="Go" width="200" onClick="auswert(this.form)" name="button">
    </font></p>
    </form>

    </body>
    </html>

    So ich hoffe mein Gelaber war einigermaßen verständlich.
    *redet gerne um den heißen Brei rum*
    Und ich hoffe das du mir helfen kannst.
    Ich kann dir gerne auch nochmal sagen wo ich das Script für die Navigation her habe, vielleicht kannste dir das nochmal ansehen damit weißt was ich mit dem Pflegen meine.

    Gruß

    Verena

    Einen Kommentar schreiben:


  • antwortet
    Herrje, wasn dasn?

    Tja, das Problem mit solchen Codes ist, daß, wenn sie nicht 1:1 funktionieren, du nix dran machen kannst, da es meist schnell geht, wenn man's selber neu macht. An vorhanden Skripten rumdoktern dauert immer länger...

    Laß mal das Skript weg und sag lieber mal, was du genau für Anforderungen hast. Was weiß ich jetzt schon: du hast ne Startseite mit ner Dropdown-Box zur Auswahl eines Themas. Was soll dann folgen? Du willst doch ein spezielles Frameset zu jedem Thema, oder? Viele Themen sind's denn?
    Wenn dir alte Browser wurscht sind, dann könntest du das über Schreiben eines dynamischen Inhaltes der Startseite machen. Oder (wohl für alle Browser okay) für jedes Thema ein spezielles Frameset aufrufen (einfach). Willst du allerdings innerhalb des Themas nochmals Seiten unterscheiden, wird schwieriger. Dann geht's (da du kein PHP hast, stimmt doch, oder?!) mit neuschreiben der Startseite über document.write

    Wenn du sagst, was du willst, helfe ich dir gern, aber bei dem anderen Skript.... dauert zu lange.

    Ach, lange Rede , schwallschwall. Vergiß die Hälfte von oben. Das sind ja zwei Skripte.
    Okay, oberes Skript öffnet dir zwei Seiten nach wunsch in zwei verschiedene Frames, d.h. du mußt dich schon in einem Frameset befinden, wo in der Mitte z.B. die Auswahlbox ist.

    Möchtest du aber eine Startseite, die nicht in ein Frame (Folgeseite) paßt, dann doch Lösung von oben.

    Gib Bescheid und zeig mal dein Startseiten-Code.

    Einen Kommentar schreiben:

Lädt...
X