Layer über zwei Frames - möglich?
Sven
- dhtml
Ich habe eine Seite mit zwei Frames (zwei Zeilen).
Im oberen Frame befindet sich die Navigation (mehrere Navigationspunkte), im unteren soll der Inhalt stehen.
Nun soll sich ein weiteres Navigations-Menü (Layer) direkt unter dem jeweiligen Navigationspunkt öffnen, sobald ich mit der Maus über ihn fahre.
Ist es nun möglich, dass das jeweilige zusätzliche Navigations-Menü (Layer) über beiden Frames liegt?
Gibt es dazu Beispiele?
hallo Sven,
<!-- das ist eine Anrede, auf die wir hier sehr viel Wert legen -->
Ist es nun möglich, dass das jeweilige zusätzliche Navigations-Menü (Layer) über beiden Frames liegt?
grundsätzlich ist das nicht möglich
Grüße aus Berlin
Christoph S.
<!-- und das war ein abschließender Gruß, auf den wir ebenfalls sehr viel Wert legen -->
Hallihallo!
Im Prinzip ist sowas möglich, allerdings muss man dafür ganz schön tricksen, denn:
---> Jedes Framefenster ist ein eigenes Fenster, und die Anzeigemöglichkeit eines (D)HTML- Gebildes beschränkt sich nun mal auf das EIGENE Fenster...
Aber: (jetzt kommt der Trick) ;)
Es gibt die Möglichkeit, sich eine externe js- Datei anzulegen, die dann in jede Datei, die in den ich-nenn-ihn-mal- Hauptframe geladen wird, eingebunden wird. Das macht ja nur eine Zeile aus, und die Ladezeiten steigen dadurch auch nicht unbedingt, weil die js- Datei ja nur beim ersten Mal wirklich geladen wird.
Diese js- Datei in deinem Hauptframe sieht dann so aus, daß sie Dir dynamisch Deinen Navigationslayer erzeugt, und ihn bei Bedarf ein- oder Ausblendet. (angesprochen wird sie dann per parent.haupt.einblenden() )
Einziger Nachteil bei der Geschichte: Du hast nur was von Deiner Navigation, wenn Du die Dateien selber unter Deiner "Kontrolle" hast. Sprich: wenn es Deine eigenen Dokumente sind, die Du da zeigst. Ansonsten kommt der berühmte (und gar nicht mal so sinnlose) "Zugriff verweigert".
Ic hoffe, ich konnte Dir damit ein wenig helfen...
Viele liebe Grüße,
Der Dicki
morgens,
---> Jedes Framefenster ist ein eigenes Fenster, und die Anzeigemöglichkeit eines (D)HTML- Gebildes beschränkt sich nun mal auf das EIGENE Fenster...
richtig
Diese js- Datei in deinem Hauptframe sieht dann so aus, daß sie Dir dynamisch Deinen Navigationslayer erzeugt, und ihn bei Bedarf ein- oder Ausblendet. (angesprochen wird sie dann per parent.haupt.einblenden() )
damit bleibt die "Navigation" in deinem "Haupt"-Frame und wird nicht frameübergreifend. Ob man das mit externem Javascript macht oder nicht, ist völlig wurscht
Einziger Nachteil bei der Geschichte: Du hast nur was von Deiner Navigation, wenn Du die Dateien selber unter Deiner "Kontrolle" hast. Sprich: wenn es Deine eigenen Dokumente sind, die Du da zeigst. Ansonsten kommt der berühmte (und gar nicht mal so sinnlose) "Zugriff verweigert".
das ist nicht verständlich
Ic hoffe, ich konnte Dir damit ein wenig helfen...
nein, konntest du leider nicht
Das einzige, was derzeit funktioniert, geht nur im IE6: wenn du ein iFrame nimmst, läßt der IE6 (und zur Zeit auch _nur_ der!) zu, daß mit z-index-Angaben ein Javascript-Layer (DIV) darübergelegt wird, _sämtliche_ anderen Browser verweigern sich (auch IE5.5 und niedriger).
In mehreren Browsern funktioniert allerdings eine Lösung, in der grundsätzlich alles mit iFrames gemacht wird. Da hat man nur das Problem, daß sich iFrames in mozilla/Netscape nicht für "kleine" Fenster eignen, wie man sie für eine Navigation braucht, und die Frameränder in jedem Browser anders aussehen.
Fazit: eine Kombination aus Layern und Frames ist derzeit nicht sinnvoll und führt zu keinem präsentierbaren Ergebnis.
Punkt.
Grüße aus Berlin
Christoph S.
morgens,
Diese js- Datei in deinem Hauptframe sieht dann so aus, daß sie Dir dynamisch Deinen Navigationslayer erzeugt, und ihn bei Bedarf ein- oder Ausblendet. (angesprochen wird sie dann per parent.haupt.einblenden() )
damit bleibt die "Navigation" in deinem "Haupt"-Frame und wird nicht frameübergreifend. Ob man das mit externem Javascript macht oder nicht, ist völlig wurscht
Ich glaube, da hast Du mich nicht richtig verstanden, denn das IST ja grade der Trick!
Der Trick besteht darin, sich eine dynamische Navigation zu setzen, die AUSSIEHT, als würde sie da oben reingehören! Das das in Wirklichkeit nicht so ist, sollte wohl Jedem klar sein. Aber wie etwas wirklich gemacht wird, und wie auf einer Seite getrickst wird, sollte doch dem Benutzer herzlich egal sein, solange es funktioniert. Und das TUT es definitiv, ich hab es selber eine zeitlang benutzt!
Ic hoffe, ich konnte Dir damit ein wenig helfen...
nein, konntest du leider nicht
Also, mir selber schon ;) Hat ja schließlich funktioniert...
Das einzige, was derzeit funktioniert, geht nur im IE6: wenn du ein iFrame nimmst, läßt der IE6 (und zur Zeit auch _nur_ der!) zu, daß mit z-index-Angaben ein Javascript-Layer (DIV) darübergelegt wird, _sämtliche_ anderen Browser verweigern sich (auch IE5.5 und niedriger).
Bei meinem Vorschlag nicht ;)
Fazit: eine Kombination aus Layern und Frames ist derzeit nicht sinnvoll und führt zu keinem präsentierbaren Ergebnis.
Kommt auf die Umsetzung an, und auf die Ideen, die man hat...
Punkt.
Semikolon, Klammer zu
Grüße aus Berlin
liebe Grüße zurück
Christoph S.
Der Dicki
PS: Will mich hier aber jetzt nicht drum streiten, ob etwas GEHT oder NICHT, denn:
Hi Der Dicki
- Ich weiß aus eigener Erfahrung, DAß es geht
kannst Du mal ein Beispiel (URL) posten. Aus Deiner Beschreibung ist mir nicht ganz klar geworden, was Du meinst.
Viele Grüße
ein neugieriger Mathias Bigge
Hi Der Dicki
Hallihallo!
kannst Du mal ein Beispiel (URL) posten. Aus Deiner Beschreibung ist mir nicht ganz klar geworden, was Du meinst.
Ist in Ordnung, gib mir nen Tag Zeit, ich muss das nämlich erst mal wieder zusammenbauen und hochladen... (ich konnte nach einer Zeit nichts mehr damit anfangen, weil ich auch fremde Inhalte auf meiner Site habe, deswegen habe ich das wieder gelöscht...)
Viele Grüße
Viele liebe Grüße zurück,
ein neugieriger Mathias Bigge
Der Dicki
Hi Der Dicki
Hallihallo!
kannst Du mal ein Beispiel (URL) posten. Aus Deiner Beschreibung ist mir nicht ganz klar geworden, was Du meinst.
Sodele, habs nochmal schnell zusammengeschmiert und hochgeladen...
Finden könnt Ihr es unter http://www.ewetel.net/~tobias.hahner/test
Ach ja, noch was: Bevor Jemand anfängt zu schimpfen:
Also denn: zerreisst es!!!!!!!!
Viele Grüße
Viele liebe Grüße zurück,
ein neugieriger Mathias Bigge
Der Dicki
hallo, du Trickser,
Sodele, habs nochmal schnell zusammengeschmiert und hochgeladen...
Finden könnt Ihr es unter http://www.ewetel.net/~tobias.hahner/test
hm, netter Trick. Aber du tust bloß so, "als ob", und das hat mit der ursprünglichen Frage nix zu tun. Deine Lösung mag für jemanden, der weniger geübt ist, verblüffend aussehen, ist aber nicht "echt" und leidet vor allem darunter, daß eben wirklich alle Seiten, die in den unteren Frame geladen werden, das Script ausführen müssen
Ach ja, noch was: Bevor Jemand anfängt zu schimpfen:
- ich habe das Skript nur mit meiner eigenen Auflösung (1024 x 768 )
schon gut, hier gehts ja nicht um "Bewertung", sondern um ein Prinzip
- Das Skript läuft definitiv unter IE 5.5 und Mozilla 1.0.
andere Javscriptfähige Browser machen auch mit
Christoph S.
hallo, du Trickser,
Das nehm ich mal als Kompliment :)
hm, netter Trick. Aber du tust bloß so, "als ob", und das hat mit der ursprünglichen Frage nix zu tun.
Das hatte ich doch gesagt, aber darauf kommt es beim Betrachten der Seite nicht an, oder?
Zitat: "Entscheidend ist, was hinten rauskommt." (Helmut Kohl, der letzte Zeit wohl häufiger zitiert wird ;) )
leidet vor allem darunter, daß eben wirklich alle Seiten, die in den unteren Frame geladen werden, das Script ausführen müssen
Auch darauf hatte ich aufmerksam gemacht, habe aber von Anfang an gesagt, daß es sich beim Einbau dieses Skripts nur um einen Einzeiler handelt, und daß die Ladezeiten der jeweiligen Seiten so gut wie gar nicht darunter leiden. Also, kein Problem, oder?
Ach ja: auch die Tatsache, daß man damit nur "eigene" Seiten schmücken kann, hatte ich von vornherein klargestellt.
- Das Skript läuft definitiv unter IE 5.5 und Mozilla 1.0.
andere Javscriptfähige Browser machen auch mit
Cool, mehr wollte ich ja gar nicht ;)
Christoph S.
PS: es ging mir mit diesem Menü übrigens nur darum, die Möglichkeiten aufzuzeigen, die man mit Javascript hat.
Daß der Besucher Javascript aktiviert haben muß, war ja schon in dem Moment klar, als es um das "Aufpoppen von Menüs" ging. (CSS- mäßig steckt das ja noch in den Kinderschuhen, weil nur von Mozilla unterstützt... außerdem muss hier an eine CSS-Lösung leider wirklich eine Absage erteilt werden, aus bereits erläuterten Gründen)
Das Ziel, was ich also verfolgt hatte, hieß: "Geht nicht gibts nicht".
Und wenn etwas DOCH nicht geht, kann man ja immer noch so tun, als ginge es ;): Ideen sind gefragt!
In diesem Sinne,
Der Dicki
Hallo Dicki, hallo Christoph
hallo, du Trickser,
Das nehm ich mal als Kompliment :)
Ist es sicher auch, der Christoph ist manchmal etwas bärbeissig ;-)
hm, netter Trick. Aber du tust bloß so, "als ob", und das hat mit der ursprünglichen Frage nix zu tun.
Hat er aber doch ganz klever gelöst, finde ich ;-)
Schön wäre es, die JS-Logik noch etwas zu durchdenken, so dass sich das Menü schließt, wenn man in den unteren Frame klickt. Was hältst Du davon, Dicki?
<targetblank>Das mit der Begrenzung auf eigene Dateien finde ich völlig unproblematisch, weil's eh nicht OK ist, fremde Seiten in eigene Framestrukturen zu laden, finde ich</targetblank> ;-)
PS: es ging mir mit diesem Menü übrigens nur darum, die Möglichkeiten aufzuzeigen, die man mit Javascript hat.
Daß der Besucher Javascript aktiviert haben muß, war ja schon in dem Moment klar, als es um das "Aufpoppen von Menüs" ging. (CSS- mäßig steckt das ja noch in den Kinderschuhen, weil nur von Mozilla unterstützt... außerdem muss hier an eine CSS-Lösung leider wirklich eine Absage erteilt werden, aus bereits erläuterten Gründen)
Mit CSS gibt's nur Probleme mit der vorgegebenen Framestruktur, ansonsten kann man da auch schöne Menüs basteln. Ansonsten würde mich interessieren, ob hier die Cracks nicht auch einen Workaround finden würden. Geht nichts gibt nicht ... außer manchmal ;-)
Viele Grüße
Mathias Bigge
Hallo Dicki, hallo Christoph
Ein beflügeltes Hallihallo zurück!
Schön wäre es, die JS-Logik noch etwas zu durchdenken, so dass sich das Menü schließt, wenn man in den unteren Frame klickt. Was hältst Du davon, Dicki?
Davon halte ich eine Menge, wenn ich mal wieder etwas mehr Zeit habe, bau ichs mal ein (kann ja nicht so schwer sein)
<targetblank>Das mit der Begrenzung auf eigene Dateien finde ich völlig unproblematisch, weil's eh nicht OK ist, fremde Seiten in eigene Framestrukturen zu laden, finde ich</targetblank> ;-)
hmm.... Ist das WIRKLICH so schlimm? Ich habe auf meiner Seite auch "fremde" Inhalte von fremden Servern, habe jedoch die Erlaubnis von den Urhebern dafür... Aber im Allgemeinen gebe ich Dir da natürlich recht.
Mit CSS gibt's nur Probleme mit der vorgegebenen Framestruktur, ansonsten kann man da auch schöne Menüs basteln.
Das ist allerdings wahr, nur in diesem Beispiel war ja das Frameset die einzige Vorgabe...
Viele Grüße
Mathias Bigge
viele liebe Grüße zurück,
Der Dicki, (der sich mal an die Umsetzung Deines Vorschlags macht)
Schön wäre es, die JS-Logik noch etwas zu durchdenken, so dass sich das Menü schließt, wenn man in den unteren Frame klickt. Was hältst Du davon, Dicki?
Davon halte ich eine Menge, wenn ich mal wieder etwas mehr Zeit habe, bau ichs mal ein (kann ja nicht so schwer sein)
Sodele, ist fertig und online... http://www.ewetel.net/~tobias.hahner/test
Habe festgestellt, daß es eigentlich nur eine kleine zusätzliche Funktion und eine kleine Erweiterung im <body>Tag dazu braucht...