ZweiFrames, history.back(), -forward(), -go(x)
Jenny
- javascript
0 Sven Rautenberg0 Jenny
Hei leutz,
ich komme ganz einfach nicht weiter und völlif verzweifelt, habe ausführlich im forum nachgeschaut und auch in diversen Suchmaschinen nach Links gesucht, die mein Problem vielleicht behandeln. Ich kenne auch das Beispiel zu diesem Thema aus selfhtml und muss sagen, dass das angedeutete Problem in diesem Anwendungsbeispiel von selfhtml auch vorhanden ist (http://selfhtml.teamone.de/javascript/beispiele/anzeige/zweiframes.htm) . So, ich sollte vielleicht mal etwas genauer werden.
Es geht darum, zwei Frames gleichzeitig zu aktualisieren. Wenn ich auf meine Links inner Navigation gehe, funktioniert alles wunderbrächtig und zwar im IE, NS und auch Opera. Wenn ich aber nun über die history vorwärts und rückwärts gehen möchte, läßt mich der IE im Stich, er aktualisiert die Schritte immer nur in einem Frame und zwar indem, welches als Nummer1 betitelt ist. Dabei habe ich festgestellt, dass es nicht am BS liegt. Arbeite nämlich am Mac. Ich habe es diverse Leute auch am PC ausprobieren lassen: Fehlanzeige, IE will nicht. Aus den Forenbeiträgen geht für mich hervor, dass schon diverse Leute Probleme damit hatten, aber es geht auch für mich hervor, dass dieses Problem nicht unbedingt gelöst wurde. Dabei habe ich es über die history.back- und .forward-Funktionen in Zusammenhang mit einem set.timeout probiert und habe es auch mit der history.go-Funktion probiert. Ergebnis ist immer, dass es in allen anderen Browsern funktioniert, nur im IE nicht. Was ist an dem so anders? Kommt er mit der Bezifferung der einzelnen Frames nicht klar? Mir scheint, dass er dies so gar einfach ignoriert!?
Wenn jemand nachschauen möchte, worum es geht, schaue er bitte unter der URL http://www.mediafreak.de/appel nach. Aber bitte mit einer Auflösung von 1024x768, da die für die 800er noch nicht für diese Javascript-Funktion umgesetzt wurde.
Wer kann helfen? Ich würde mich über ein reichliches Feedback freuen. Vielleicht habe ich auch irgendwie nen falschen Denkansatz?
Vielen Dank und Gruß
Jenny
Moin!
Wenn jemand nachschauen möchte, worum es geht, schaue er bitte unter der URL http://www.mediafreak.de/appel nach. Aber bitte mit einer Auflösung von 1024x768, da die für die 800er noch nicht für diese Javascript-Funktion umgesetzt wurde.
Jetzt passiert wieder das, was sich niemand wünscht: Kritik an etwas ganz anderem, als gefragt wurde - aber ich kann nicht anders, und es gibt ja auch reichlich Anlaß dafür.
Die von dir genannte Seite läßt mich nicht weiter. Ich kann (wenngleich das ziemlich geheimgehalten wird) zwar auf das Logo klicken, aber dann passiert nichts.
Warum passiert nichts? Weil ich Opera benutze!
Warum passiert denn zum Teufel nichts, wirst du dich fragen, wo doch Opera im "Neues, angepaßtes Fenster öffnen"-Skript explizit berücksichtigt wird? Weil dort versucht wird, den als IE5 getarnten Opera zu entdecken, aber sonst keine Operas. Mein Opera ist aber ein echter Opera, der enthält im User-Agent-String nicht die Worte "compatible" oder "MSIE", sondern nur "Opera". Die Abfrage der Versionsnummer ist dann vermutlich ein weiterer Stolperstein: Ich hätte Version 6 anzubieten, andere benutzen noch Version 5 oder gar 4 oder 3.
Und das zweite: Ich gestehe Webseiten derzeit eine Größe von 807*572 Pixeln zur Anzeige ihrer Daten zu. Neue Browserfenster können ebenfalls nicht größer angezeigt werden. Vielleicht wäre es deshalb als Strategie schlauer, wenn du nicht die verfügbare Bildschirmauflösung abfragst, sondern die verfügbare Fenstergröße. Und dann folgerichtig kein _neues_ Fenster öffnest, sondern das Frameset einfach im bereits benutzten Fenster lädst. Dann muß ich als Opera-Benutzer nicht noch das neue Fenster in den Vollbild-Modus schalten oder es ein wenig nach oben ziehen, und alle sind glücklich (auch die Nutzer von IE und Netscape wird es erfreuen). Und du kannst zusätzlich noch einen javascriptlosen Link auf ein allgemein gültiges Frameset setzen.
Zu deinen Problemen: Die Problematik, daß die History-Funktionen des Browsers bei Verwendung eines Framesets fehlschlagen, ist systemimmanent und läßt sich nicht umgehen. Deswegen sind Frames ja auch so unbeliebt. Du kannst versuchen, durch eigene Links mit entsprechenden Funktionen die Vor- und Zurück-Tasten zu simulieren, aber die browsereigenen Tasten "reparieren" kannst du nicht.
- Sven Rautenberg
Moin!
Wenn jemand nachschauen möchte, worum es geht, schaue er bitte unter der URL http://www.mediafreak.de/appel nach. Aber bitte mit einer Auflösung von 1024x768, da die für die 800er noch nicht für diese Javascript-Funktion umgesetzt wurde.
Jetzt passiert wieder das, was sich niemand wünscht: Kritik an etwas ganz anderem, als gefragt wurde - aber ich kann nicht anders, und es gibt ja auch reichlich Anlaß dafür.
Die von dir genannte Seite läßt mich nicht weiter. Ich kann (wenngleich das ziemlich geheimgehalten wird) zwar auf das Logo klicken, aber dann passiert nichts.
Warum passiert nichts? Weil ich Opera benutze!
Warum passiert denn zum Teufel nichts, wirst du dich fragen, wo doch Opera im "Neues, angepaßtes Fenster öffnen"-Skript explizit berücksichtigt wird? Weil dort versucht wird, den als IE5 getarnten Opera zu entdecken, aber sonst keine Operas. Mein Opera ist aber ein echter Opera, der enthält im User-Agent-String nicht die Worte "compatible" oder "MSIE", sondern nur "Opera". Die Abfrage der Versionsnummer ist dann vermutlich ein weiterer Stolperstein: Ich hätte Version 6 anzubieten, andere benutzen noch Version 5 oder gar 4 oder 3.
Und das zweite: Ich gestehe Webseiten derzeit eine Größe von 807*572 Pixeln zur Anzeige ihrer Daten zu. Neue Browserfenster können ebenfalls nicht größer angezeigt werden. Vielleicht wäre es deshalb als Strategie schlauer, wenn du nicht die verfügbare Bildschirmauflösung abfragst, sondern die verfügbare Fenstergröße. Und dann folgerichtig kein _neues_ Fenster öffnest, sondern das Frameset einfach im bereits benutzten Fenster lädst. Dann muß ich als Opera-Benutzer nicht noch das neue Fenster in den Vollbild-Modus schalten oder es ein wenig nach oben ziehen, und alle sind glücklich (auch die Nutzer von IE und Netscape wird es erfreuen). Und du kannst zusätzlich noch einen javascriptlosen Link auf ein allgemein gültiges Frameset setzen.
Zu deinen Problemen: Die Problematik, daß die History-Funktionen des Browsers bei Verwendung eines Framesets fehlschlagen, ist systemimmanent und läßt sich nicht umgehen. Deswegen sind Frames ja auch so unbeliebt. Du kannst versuchen, durch eigene Links mit entsprechenden Funktionen die Vor- und Zurück-Tasten zu simulieren, aber die browsereigenen Tasten "reparieren" kannst du nicht.
- Sven Rautenberg
Nicht böse sein, aber das ist nicht die Antwort auf meine Frage. Es geht nicht um die browsereigenen Tasten. Ich habe speziell für die zweiframe-Geschichte Buttons erstellt. Und da kann man über die History die Steuerung der Frames durchaus beeinflussen. Oder habe ich da vielleicht etwas nicht korrekt verstanden? Aber danke für Deine hilfreichen sonstigen Hinweise ;o). Wie Du vielleicht bemerkt hast, ist diese Site im Entwicklungsstatus, also noch lange nicht am Ende und da kommen solche Tipps durchaus sehr gelegen. Vielen Dank dafür.
Gruss Jenny