birgit: mit "onload" seite in anderes framefenster laden?

ich habe ein klassisches Frameset: links die Navigation, rechts der Inhalt. Kann vom LeftFrame (z.B. mit onload) eine Inhaltseite automatisch in den MainFrame laden? Also ich klicke "kontakt" an, es öffnet sich links das Menü mit aktiviertem Kontakt-button und diese Seite soll den Befehl enthalten, die dazugehörige Inhaltsseite im MainFrame zu laden. geht das?
Ich will vermeiden, dass ich in jeder Menü-Datei ein Script für "zwei Frames gleichzeitig ändern" einfügen muss.
Wer kann mir helfen? Vielen Dank schonmal.

  1. hi,

    ich habe ein klassisches Frameset: links die Navigation, rechts der Inhalt. Kann vom LeftFrame (z.B. mit onload) eine Inhaltseite automatisch in den MainFrame laden? Also ich klicke "kontakt" an, es öffnet sich links das Menü mit aktiviertem Kontakt-button und diese Seite soll den Befehl enthalten, die dazugehörige Inhaltsseite im MainFrame zu laden. geht das?

    das wäre ja absoluter quark - weil so ohne javascript das laden der eigentlichen zielseite gar nicht funktioniert.

    wenn überhaupt, dann andersherum: laden der zielseite in den hauptframe per "normalem" html-link, und auffrischen der menü-seite über javascript - so bleibt wenigstens die grundfunktionalität für besucher ohne JS erhalten.

    Ich will vermeiden, dass ich in jeder Menü-Datei ein Script für "zwei Frames gleichzeitig ändern" einfügen muss.

    wenn du keinen ärger mit frames haben willst, ist drauf verzichten die beste wahl.

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. hi,

      ich klicke "kontakt" an, es öffnet sich links das Menü mit aktiviertem Kontakt-button und diese Seite soll den Befehl enthalten, die dazugehörige Inhaltsseite im MainFrame zu laden. geht das?

      das wäre ja absoluter quark - weil so ohne javascript das laden der eigentlichen zielseite gar nicht funktioniert.

      Das wäre nicht wirklich tragisch, es wird eh schon haufenweise javascript verwendet. Wie würde denn so ein Script aussehen?

      wenn du keinen ärger mit frames haben willst, ist drauf verzichten die beste wahl.

      Danke für den tollen Tipp!!! Leider geht es nicht, da ich nicht der Urheber dieser Seite bin, sondern lediglich Änderungen vornehmen soll.

      1. Hi,

        Das wäre nicht wirklich tragisch, es wird eh schon haufenweise javascript verwendet.

        Wenn Du alles änderst, dann das am Besten gleich mit. JS ist i.d.R. (und auch aus Eigennutz) additiv einzusetzen, nicht exklusiv. Daß das geht, beweisen viele gescheit codierte Websites.

        Wie würde denn so ein Script aussehen?

        Du kannst von jedem Frame auf jeden anderen Fame zugreifen und dort z.B. Routinen starten (statt window.document... eben parent.document... fürs Frameset, andere Ziele sind entsprechend einzutragen).

        Danke für den tollen Tipp!!!

        Ja, die hiesigen typischen "Framehasser" (haben nie gelernt, damit richtig umzugehen!). >;->

        Leider geht es nicht, da ich nicht der Urheber dieser Seite bin, sondern lediglich Änderungen vornehmen soll.

        Dann korrigiere halt ggf. "Ungeschicklichkeiten" und Fehler im Umgang mit Frames.

        Nimm dafür vielleicht Opera zum Testen. Dort kann man Frames abschalten. Und teste die Seiten auch ohne JavaScript. In beiden Fällen sollten sie (auch aus Eigennutz) vielleicht umständlicher, aber doch problemlos funktionieren.

        Ist dem nicht so, dann war es schlechte Arbeit ...

        Gruß, Cybaer

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
  2. Hi,

    Also ich klicke "kontakt" an, es öffnet sich links das Menü mit aktiviertem Kontakt-button und diese Seite soll den Befehl enthalten, die dazugehörige Inhaltsseite im MainFrame zu laden.

    das wäre aber doppelt ungünstig. Zum einen sollte der aktuelle Menüpunkt nicht verlinkt sondern ggfls. nur hervorgehoben sein und zum anderen sperrst Du Besucher ohne Javascript und Suchmaschinen unnötig aus.

    Ich will vermeiden, dass ich in jeder Menü-Datei ein Script für "zwei Frames gleichzeitig ändern" einfügen muss.

    Dieses Script solltest Du ohnehin nicht verwenden (s.o.).
    Was Du aber machen kannst, wenn Du lediglich den aktuellen Menüpunkt hervorheben möchtest:
    Schreibe ein Javascript und binde dieses in die Frameset-Datei oder extern ein. Verlinke die Menüpunkte ganz normal über HTML und gebe zusätzlich einen Funktionaaufruf über onclick an. In dieser Funktion kannst Du alle Menüpunkte normal darstellen und den gerade angeklickten hervorheben lassen.

    freundliche Grüße
    Ingo

    1. Hi,

      Also ich klicke "kontakt" an, es öffnet sich links das Menü mit aktiviertem Kontakt-button und diese Seite soll den Befehl enthalten, die dazugehörige Inhaltsseite im MainFrame zu laden.

      das wäre aber doppelt ungünstig. Zum einen sollte der aktuelle Menüpunkt nicht verlinkt sondern ggfls. nur hervorgehoben sein und zum anderen sperrst Du Besucher ohne Javascript und Suchmaschinen unnötig aus.

      Der Kontaktbutton ist ja auf der Seite hervorgehoben und enthält keinen Link.
      Ich dachte, dass man vielleicht bei aufrufen der Seite mit aktiviertem Kontaktbutton mit <body onload...> eine Funktion aufruft, die mir die dazugehörige Seite in dem MainFrame läd.
      So wie man ein neues Fenster onload öffnen kann, dachte ich man könnte vielleicht eine Seite in den MainFrame laden.

      Es ist ja auch nicht meine Seite, sondern ich soll nur Aktualisierungen vornehmen. Und es gibt eh schon Javascript.
      Wenn ich könnte, würde ich es selber schreiben, aber mehr als einbetten kann ich leider nicht.

      1. Hi,

        Der Kontaktbutton ist ja auf der Seite hervorgehoben und enthält keinen Link.

        Wie konnte man dann darauf Klicken?
        Du solltest es wie wahsaga sagte anders herum machen.

        Es ist ja auch nicht meine Seite, sondern ich soll nur Aktualisierungen vornehmen. Und es gibt eh schon Javascript.

        Ja und? Heißt das, die Seite _funktioniert_ ohne Javascript schon jetzt nicht oder erst nach Deiner Änderung nicht mehr?

        freundliche Grüße
        Ingo

        1. Wie konnte man dann darauf Klicken?

          also: Menü mit insgesamt 7 Rolloverbuttons (die anderen haben ein Untermenü, weshalb sich dort die Problematik nicht ergibt). Klick auf Kontakt soll zwei Seiten aufrufen. Nämlich Links: neue Menüseite mit aktiviertem Kontaktbutton (ohne Link) und Rechts: die Inhaltseite.

          Du solltest es wie wahsaga sagte anders herum machen.

          Meinetwegen auch andersherum. Das soll mir egal sein. Aber ich bräuchte dann immer noch eine Fuktion, die zur richtigen MenüSeite auffrischt.

          1. Hi,

            also: Menü mit insgesamt 7 Rolloverbuttons (die anderen haben ein Untermenü, weshalb sich dort die Problematik nicht ergibt). Klick auf Kontakt soll zwei Seiten aufrufen. Nämlich Links: neue Menüseite mit aktiviertem Kontaktbutton (ohne Link) und Rechts: die Inhaltseite.

            Nein; ein HTML-Link, der die Inhaltzsseite aufruft und eine über onclick aufzurufende Javascript-Funktion, die den Link ändert.

            Du solltest es wie wahsaga sagte anders herum machen.

            Meinetwegen auch andersherum. Das soll mir egal sein. Aber ich bräuchte dann immer noch eine Fuktion, die zur richtigen MenüSeite auffrischt.

            Du meinst, die das Menü wie gewüscht ändert. Um Dir hierbei helfen zu können, müßte man dieses schon sehen.

            freundliche Grüße
            Ingo

  3. Hi,

    und BTW: onLoad ist für dein Vorhaben sub-optimal!

    Scripte, die (nicht nachträgliche) Veränderungen initieren, sollten so früh als möglich ausgeführt werden - nicht so spät als möglich.

    Coding: MagicHTML - erweiterbares Grundgerüst beinhaltet z.B. diverse sinnvolle JS-Punkte *vor* onLoad.

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!