[GastForen Programmierung/Entwicklung JavaScript Änderung des Framesets UND eines Frames

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Änderung des Framesets UND eines Frames

jmst
Beiträge gesamt: 15

11. Jan 2007, 21:09
Beitrag # 1 von 7
Bewertung:
(1830 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich würde gerne aus einer HTML-Datei (ein Frame) die prozentuale Frameaufteilung verändern und gleichzeitig in den anderen Frame anderen Inhalt schreiben. Im Netscape 6 (Mac) funktioniert der Code jedoch nicht mit *beiden* Anweisungen in der Funktion. Es wird nur die Frameaufteilung verändert und nichts anderes in den anderen Frame geschrieben. Wenn ich jedoch die 1. Anweisung auskommentiere/rauslösche, funktioniert der Rest.
Übrigens im IE und im iCab funktioniert es alles wie gewünscht. Hier der Code:

-----------------------------Frameset-----------
<html>
<head>
<title>Das ist das Frameset</title>
</head>
<frameset id="frset" rows="75%,*">
<frame src="a.html" name="obererframe">
<frame src="b.html" name="untererframe">
</frameset>
</html>
-------------------------------Ende Frameset----

----------------------------oberer Frame---------
<html>
<head>
<title></title>
<script type="text/javascript">
function frameProzente1() {
top.document.getElementById('frset').rows = "25%,*";
top.frames[1].document.write("Jetzt steht im unteren Frame was anderes");
top.frames[1].document.close();
}
</script>
</head>
<body>
<p onClick="frameProzente1()">Hier ist die Datei a.html</p>
</body>
</html>
---------------------------Ende oberer Frame----------

---------------------------unterer Frame----------------
<html>
<head>
<title></title>
</head>
<body>
<p>Hier ist die Datei "b.html"</p>
</body>
</html>
---------------------------Ende unterer Frame----------

Auch wenn ich anstelle von "top" "parent" setze ist das Verhalten gleich (das Frameset steht an hierarchiehöchster Stelle).
Vielleicht begreife ich einfach nicht die verschiedenen "Modelle" die in den Browsern funktionieren?

Danke schon mal
Juergen

(Dieser Beitrag wurde von jmst am 11. Jan 2007, 21:11 geändert)
X

Änderung des Framesets UND eines Frames

SabineP
Beiträge gesamt: 7586

11. Jan 2007, 22:19
Beitrag # 2 von 7
Beitrag ID: #270353
Bewertung:
(1823 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Juergen,

warum lädst Du nicht einfach ein neues Frameset.
Dazu brauchst Du kein Javascript und das funktioniert in allen Browsern, auch wenn Javascript im Browser deaktiviert ist.

Gruß Sabine


als Antwort auf: [#270344]

Änderung des Framesets UND eines Frames

jmst
Beiträge gesamt: 15

11. Jan 2007, 23:39
Beitrag # 3 von 7
Beitrag ID: #270370
Bewertung:
(1818 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Sabine,
ja, klar, das wäre das einfachste, jedoch sind das ja nicht die wirklichen Dateien, sondern auf das kleinstmögliche Format eingedampfte Beispiele.
In Wirklichkeit ist es ein ziemlich großes HTML-Formular, das die eingegeben Werte bisher in ein neues Fenster schreibt, das mit der window.open()-Methode erzeugt wird. Das funktioniert natürlich super, solange kein PopUp-Blocker es verhindert. Die Idee ist deshalb, ein Frameset zu haben, in dem einen Frame ist das Formular, in dem anderen die Kurzzusammenfassung zum Nachlesen der Angaben. Die prozentuale "Verschiebung" der Frameaufteilung ist auch nicht wirklich 25 zu 75% sondern 100 zu 0%. In dem zweiten Fenster oder jetzt Frame wird auch nicht nur Text geschrieben, sondern kompletter HTML-Code mit CSS und sogar Javascript-Code, der das Zurückschalten in die Ausgangsaufteilung des Framesets bewerkstelligt.
Wie gesagt, mit IE und iCab funktioniert das alles, jedoch nicht mit Netscape 6.
Vielleicht ist es jetzt etwas klarer. Was ich nicht will und auch nicht kann, ist, das Zeugs über den Server laufen zu lassen.
Gruß
Juergen


als Antwort auf: [#270353]
(Dieser Beitrag wurde von jmst am 11. Jan 2007, 23:41 geändert)

Änderung des Framesets UND eines Frames

SabineP
Beiträge gesamt: 7586

12. Jan 2007, 00:15
Beitrag # 4 von 7
Beitrag ID: #270374
Bewertung:
(1813 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Auch wenn ich trotz Deiner Beschreibung keinen Grund für die Verwendung von Javascript und Frames sehe.

Was sagt denn die Javascriptkonsole im Netscape 6?
Welche Fehlermeldungen gibt es da zu sehen?


als Antwort auf: [#270370]

Änderung des Framesets UND eines Frames

jmst
Beiträge gesamt: 15

12. Jan 2007, 00:43
Beitrag # 5 von 7
Beitrag ID: #270376
Bewertung:
(1809 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Sabine,
ehrlich gesagt, weiß ich nicht, wie ich die Eingaben aus einem HTML-Formular ohne JavaScript und ohne etwas über den Server zu schicken in eine andere HTML-Datei (mit tabellarischer Auflistung der gemachten Eingaben) schreiben sollte.
Ansonsten ist das gesamte Anmeldeformular brechend voll mit Javascript (Ein-/Ausblenden von ganzen Bereichen, Sperren oder auch Freigeben von Eingabefeldern bei Anwahl von einzelnen Optionen, Alerts bei fehlenden Eingaben, Rücksetzen von einzelnen Einstellungen bei falscher Auswahl (mit entsprechender Meldung), Plausibilitätsprüfungen, Errechnung von Einzel- und Gesamtpreisen, Bereitstellung einer ID-Nummer für die Überweisung etc. etc.

Die Konsole gibt überhaupt nichts aus - wenn sie es denn täte, wäre ich vielleicht schon ein Stück weiter, es funktioniert eben nur die erste Anweisung oder eben beim Rauslöschen der ersten Anweisung die zweite des obigen Beispiels. Da ich die Unterschiede in den Denkmodellen von den verschiedenen JavaScript-Versionen und deren noch verschiedeneren Implementierungen in den Browsern bisher noch nicht im Ansatz durchdrungen habe, fällt mir es auch ein wenig schwer zu erkennen, wo ich mit der ersten Anweisung "lande", bzw. ob es NACH der ersten Anweisung so einfach "zurück" auf die zweite hierarchische Objektebene geht oder ob der Netscape da ein anderes Schema benutzt, wo noch eine Zusatzinfo fehlt.
Gruß Juergen


als Antwort auf: [#270374]

Änderung des Framesets UND eines Frames

SabineP
Beiträge gesamt: 7586

12. Jan 2007, 10:16
Beitrag # 6 von 7
Beitrag ID: #270412
Bewertung:
(1785 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jürgen,

>> Die Konsole gibt überhaupt nichts aus

Keine Javascriptfehler? Das ist schlecht.

So wie es aussieht hat der Netscape 6 und 6.1 einen Bug.
Ganz unten auf dieser Seite steht´s
http://www.dannyg.com/support/update7.html

>> ohne etwas über den Server zu schicken
Ja klar, das geht natürlich nur, wenn die Daten an ein Script gesendet werden, das sich auf dem Server befindet.

Gruß Sabine


als Antwort auf: [#270376]

Änderung des Framesets UND eines Frames

jmst
Beiträge gesamt: 15

12. Jan 2007, 11:53
Beitrag # 7 von 7
Beitrag ID: #270440
Bewertung:
(1778 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Sabine,
sorry, dass ich nicht gleich erwähnt habe, dass ich nix über den Server schicken will. Oder besser, dass es mir dafür komplett an den nötigen (Perl-)Fähigkeiten fehlt. Ich mag auch keine Seiten, wo permanent was über den Server hin und hergeschaufelt wird und es bei langsameren Rechnern und Anbindungen kleine Ewigkeiten dauert, bis sich die neue Seite mit den neuen Optionen vollständig geladen hat. Das ist zwar mit Sicherheit die "sicherere Lösung" aber ich finde es einfach nervig, abgesehen von dem unästhetischen Neuaufbau von HTML-Seiten. Am besten finde ich Seiten, wo sich visuell nix ändert, was an Elementen bleibt und wirklich nur das eingeblendet oder aktviert, was man gerade braucht. Ok, das ist halt meine Sichtweise. Ich komme auch ursprünglich mal von der Fotografie und der Druckvorstufe. In JavaScript habe ich mich mal etwas eingearbeitet, durchschaue da schon ein paar Sachen, aber andere Sprachen, da müsste ich bei "Null" anfangen. Kommt noch ;-)
Aber erstmal VIELEN Dank für den Link! Es ist zwar kein verschachteltes (nested) Frameset, aber ich will ja wieder zurück in ein Dokument *innerhalb* des Framesets. Wahrscheinlich ist das derselbe Bug, der da zum Nichtfunktionieren führt.
Hm, ob mir da jetzt irgendein Workaroud einfällt??
Schaun mer mal. Nochmal: Danke für deine Hilfe! Das hätte ich selbst nie gefunden!
Herzliche Grüße Jürgen


als Antwort auf: [#270412]
X