artnat: Änderung von Frames

Habe ein Problem, das ich absolut nicht verstehe: Möchte eine Texteingabe machen, die zu einer Frameänderung führt. Habe das Problem auf simple Testdateien zurückgeführt. Datei test-top.htm ist ein simples Frameset, das die Dateien test-oben.htm und test-unten.htm lädt. test.oben enthält ein kurzes javascript, das sich meldet und anschließend die datei test-oben.htm gegen test-oben-neu.htm austauscht. Wenn ich dieses Javascript über ein <a>-onclick starte, wird der Austausch wie vorgesehen vorgenommen. Starte ich es aber über eine Texteingabe und onchange so meldet sich das Script zwar richtig, es passiert anschließend aber nichts, und ich bekomme nicht heraus, warum.

Hier die Dateien:

test-top.htm:
<html>
<head>
</head>

<frameset rows="50%,50%">  
	<frame src="test-oben.htm" name="oben" noresize>  
	<frame src="test-unten.htm" name="unten" noresize>  
</frameset>  

</html>

test-oben.htm:
<html>
<head>
<script  type="text/javascript">
function dok()
{
alert("dok");
top['oben'].location.href = "test-oben-neu.htm"
}
</script>
</head>
<body bgcolor="#ffffff" onload="javascript:ausgabe()">
<form name="myform">Dokumentnummer:<input name="mytext" type="text" onchange="javascript:dok()"></input></form>
<a href="" onclick="javascript:dok()">dokument</a>
<p>  skript starten </p>
</body>
</html>

test-unten.htm
<html>
<head>
</head>
<body bgcolor="#ffffff">
<p>test-unten</p>
</body>
</html>

test-oben-neu.htm
<html>
<head>
</head>
<body bgcolor="#ffffff">
<p>oben-neu</p>
</body>

</htm

  1. Om nah hoo pez nyeetz, artnat!

    Was ist der Grund für die Verwendung von frames?

    Matthias

    --
    1/z ist kein Blatt Papier.

    1. Om nah hoo pez nyeetz, artnat!

      Was ist der Grund für die Verwendung von frames?

      Matthias

      Warum ich frames verwende steht zwar hier gar nicht zur Diskussion, der Grund ist, dass ich auf vielen meiner Seiten eine große Datenmenge zur ständigen Verfügung brauche, die in einer html-datei von ca. 10 MB enthalten sind. Diese Datei möchte ich aber nicht bei jedem Wechsel der aktuellen Datei neu laden, geladen aber muss sie sein, weil ich sonst die Daten für meine js-Programme nicht habe.

      1. Liebe(r) artnat,

        einer html-datei von ca. 10 MB enthalten sind. Diese Datei möchte ich aber nicht bei jedem Wechsel der aktuellen Datei neu laden

        ... Caching... ?

        Liebe Grüße,

        Felix Riesterer.

        --
        ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
        1. Liebe(r) artnat,

          einer html-datei von ca. 10 MB enthalten sind. Diese Datei möchte ich aber nicht bei jedem Wechsel der aktuellen Datei neu laden

          ... Caching... ?

          Liebe Grüße,

          Felix Riesterer.

          Lieber Felix, Caching würde etwas bringen, wenn es sich um eine Website handelte. Es geht aber um eine umfangreiche Site, die nur lokal, z.B. von einer CD aus verwendet wird. Doch selbst wenn die ganze Site auf der Festplatte steht, dauert das Laden für den praktischen Gebrauch noch zu lange (bei den meisten Browsern einige Sekunden, die sehr lästig sind, wenn man die Daten 2 bis 3 mal in der Minute braucht). Und ein Browser-Cache ist meines Wissens auch nichts anderes, als eine Datei auf der Festplatte und nicht eine Datei im Memory.

          Ich stelle fest, mit meiner Frage mag sich bisher niemand befassen, sondern nur mit Vermeidungsstrategien.

          Gruss, Artnat.

          1. Moin Moin!

            Und ein Browser-Cache ist meines Wissens auch nichts anderes, als eine Datei auf der Festplatte und nicht eine Datei im Memory.

            FF hat auch einen Memory-Cache. Jedes ernst zu nehmende Betriebssystem nutzt ebenfalls einen Cache, um nicht ständig auf lahme Platten warten zu müssen.

            Ich stelle fest, mit meiner Frage mag sich bisher niemand befassen, sondern nur mit Vermeidungsstrategien.

            Ja, weil Frames mehr Probleme machen als sie zu lösen vorgeben und erst recht als sie wirklich lösen.

            Alexander

            --
            Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
            1. Und ein Browser-Cache ist meines Wissens auch nichts anderes, als eine Datei auf der Festplatte und nicht eine Datei im Memory.

              FF hat auch einen Memory-Cache. Jedes ernst zu nehmende Betriebssystem nutzt ebenfalls einen Cache, um nicht ständig auf lahme Platten warten zu müssen.

              Alternativ gibt es auch Live-Betriebssysteme die sich direkt in ein RAM-Laufwerk ablegen und somit auch pipifein laufen.

              1. Lieber Felix, Chris, Alexander, suit,

                OK, ich akzeptiere den Rüffel und lasse mich auf die Vermeidungsstrategie ein.

                Es ist richtig, dass ich nicht über ausreichend Erfahrung und Kenntnisse verfüge, um die Alternativen erstens selber erkennen und zweitens auch hinsichtlich ihrer Eignung zu beurteilen. Wäre es anders, hätte ich die aus Eurer Sicht dumme Frage nicht gestellt.

                Zum Cache: die Info, dass es sich um Platte handelt, habe ich sowohl aus SELFHTML als auch z.B. aus der FF-Hilfe. Eine Einstellung des Cache als Memory habe ich in FF und auch in Safari bisher nicht gefunden, wenn Ihr mir sagen könnt, wie das geht, wäre ich dankbar.

                Das nützt mir aber nur dann etwas, wenn ich das für jeden beliebigen Browser aus der HTML-Datei oder aus JS einstellen kann, denn ich gebe meine Site aus der Hand und habe keine Kontrolle darüber, wie die Nutzer ihre Browser einstellen noch welchen Browser sie verwenden. Ich kann auch, wenn ich die Einstellung als Gebrauchsanweisung mitgebe, nicht erwarten, dass die Nutzer sehr komplexe Einstellungen vornehmen. Ich kriege so schon immer wieder Beschwerden der Nutzer, dass die Sache nicht funktioniert, bloß weil sie  Skripte oder Cookies abgestellt haben, obwohl in der Gebrauchsanweisung explizit steht, dass sie gebraucht werden.

                gruß, artnat.

                1. Moin Moin!

                  Zum Cache: die Info, dass es sich um Platte handelt, habe ich sowohl aus SELFHTML als auch z.B. aus der FF-Hilfe. Eine Einstellung des Cache als Memory habe ich in FF und auch in Safari bisher nicht gefunden, wenn Ihr mir sagen könnt, wie das geht, wäre ich dankbar.

                  Schritt 1: Starte Firefox.

                  Schritt 2: Es gibt keinen Schritt 2.

                  FF nutzt AUTOMATISCH Teile des RAMs als Cache. Wenn Du ihm dabei auf die Finger sehen willst, öffne die URLs about:cache bzw.about:cache?device=memory im FF.

                  Das nützt mir aber nur dann etwas, wenn ich das für jeden beliebigen Browser aus der HTML-Datei oder aus JS einstellen kann, denn ich gebe meine Site aus der Hand und habe keine Kontrolle darüber, wie die Nutzer ihre Browser einstellen noch welchen Browser sie verwenden. Ich kann auch, wenn ich die Einstellung als Gebrauchsanweisung mitgebe, nicht erwarten, dass die Nutzer sehr komplexe Einstellungen vornehmen.

                  Natürlich kannst Du von Deinen Nutzern nicht erwarten, dass sie den Browser extra auf Deine Seite bzw. CD einstellen. Das ist auch in aller Regel nicht nötig, weil die Out-of-the-Box-Einstellungen funktionieren und die User-Einstellungen die Funktion in aller Regel nicht beeinträchtigen. Probleme gibt es immer dann, wenn Leute nicht verstehen, dass Webbrowser (außer in kontrollierten Umgebungen, z.B. Firmen-LAN mit zentraler Konfiguration und SW-Verteilung) keine einheitliche Plattform sind.

                  Abgeleitet aus diesem Problem gibt es so etwas wie "best practices" für das WWW, soll heißen: Du fängst mit semantischem HTML ohne Frames an. Das kann wirklich jeder noch so dämliche Browser darstellen, egal ob Text- oder Grafikmodus, Screenreader, Smartphone, Fernseher oder PC. Suchmaschinen sind davon ebenfalls begeistert. Damit das nicht langweilig aussieht, fügst Du CSS hinzu. Das versteht so ziemlich jeder Browser, der im Grafikmodus arbeitet, wenn auch nicht jeder Browser jedes Stückchen CSS versteht. In alten Browsern werden Teile des CSS stumpf ignoriert. Damit wirst Du leben müssen. Dann, als Sahnehäubchen, nutzt Du Javascript für maximal drei Dinge: Erstens um dem Benutzer zusätzliche, nicht essenzielle Funktionen anzubieten (z.B. Autocomplete bei einem Eingabefeld, Drag and Drop, wo ohne JS nur Buttons zur Verfügung stehen, ...). Zweitens, um in alten Browsern neue Features nachzurüsten (z.B. ie7-js). Drittens für dekorative Effekte (Schneeflocken, Augen die dem Cursor folgen, ...). Letzeres sehr spärlich!

                  Flash kommt hier nicht vor, ebenso wenig wie Java-Applets, beide aus den selben Gründen: Sie funktionieren längst nicht in jedem Browser (Flash auf dem iPhone oder auf einem 64-Bit-Linux sind nahezu unmöglich). Es ist schwierig, eine saubere Fallback-Lösung zu bauen und zu pflegen. Wenn man eine funktionierende Fallback-Lösung hat, kann man ohnehin auf Flash und Java verzichten und so den zusätzlichen Aufwand vermeiden. HTML 5 bietet endlich Features, die Flash überflüssig machen.

                  Und noch einmal im Klartext: Das gilt für das WWW. In kontrollierten Umgebungen kann man seinen Usern durchaus vorschreiben, dass Javascript, Flash, Java-Applets, ActiveX-Plugins, und weiß der Geier was noch erlaubt und aktiv sind und es nur einen wahren Browser gibt.

                  Ich kriege so schon immer wieder Beschwerden der Nutzer, dass die Sache nicht funktioniert, bloß weil sie  Skripte oder Cookies abgestellt haben, obwohl in der Gebrauchsanweisung explizit steht, dass sie gebraucht werden.

                  Dann hast Du entweder die Spielregeln des WWWs nicht begriffen oder Du kannst Deine Umgebung nicht kontrollieren.

                  Um Dein Problem zu lösen, mußt Du also entweder die Spielregeln des WWW lernen oder für eine kontrollierte Umgebung sorgen. Aus langer, leidvoller Erfahrung mit Kunden-ITs kann ich Dir versichern, das ersteres wesentlich leichter ist.

                  Eine Variante der kontrollierten Umgebung ist, dass Du Deine Daten in eine Form bringst, in der Du sie mit einer eigenen Anwendung laden, aufbereiten und darstellen kannst, ohne Dich auf fremde Browser verlassen zu müssen. Wenn Du Dich in die Windows-Ecke einmauern willst, kannst Du Dir eine 32-Bit-Windows-EXE zusammenstricken, die per AUTORUN.INF (siehe auch en, de) von der CD startet. Wenn Du auch andere Systeme berücksichtigen willst, kommt eigentlich nur noch Java in Frage, mit einer README-Datei im Hauptverzeichnis der CD, die das Start-Prozedere für diverse gängige Systeme erklärt, zusätzlich eine AUTORUN.INF und eine 32-Bit-Windows-EXE, die die Java-Applikation auf Windows-Systemen automatisch starten.

                  Und eine Variante dieser Variante wäre eine portable Version eines gängigen Browsers, die Du nach Belieben konfigurierst und via AUTORUN.INF startest. Damit bist Du allerdings in der Windows-Ecke eingemauert.

                  Alexander

                  --
                  Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
                  1. Ich stimme dir fast uneingeschränkt zu, aber das hier muss ich nochmal genauer ausführen:

                    Wenn man eine funktionierende Fallback-Lösung hat, kann man ohnehin auf Flash und Java verzichten und so den zusätzlichen Aufwand vermeiden. HTML 5 bietet endlich Features, die Flash überflüssig machen.

                    Es gibt keine funktionierende Fallback-Lösung für das Abspielen von Filmen, die es erlauben würde gänzlich auf Flash zu verzichten.

                    Wenn es um Videoplayer geht, ist es nach wie vor best practice einen funktionierenden Flash-Player einzubinden und als Fallback dasselbe per HTML5 einzubinden. Wenn man das Video nicht in mindestens 3 Formaten/Codecs ablegen will empfiehlt sich hier ein Video, welches sowohl von iOS-Geräten als auch von Flash gelesen werden kann. das ist idR. ein M4V-Container mit einem H.264-Video-Stream.

                    Damit deckt man ziemlich alle Clients ab - und wenn das nicht reicht, gibts halt noch zusätzlich im HTML5-Fallback mit Ogg/Theora und WebM.

                    1. Hallo,

                      Es gibt keine funktionierende Fallback-Lösung für das Abspielen von Filmen, die es erlauben würde gänzlich auf Flash zu verzichten.

                      doch, das simple Verlinken der Video-Ressource.

                      Ciao,
                       Martin

                      --
                      F: Was sagt die kleine Kerze zur großen Kerze?
                      A: Ich gehe heute nacht aus!
                      Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
                      1. Es gibt keine funktionierende Fallback-Lösung für das Abspielen von Filmen, die es erlauben würde gänzlich auf Flash zu verzichten.

                        doch, das simple Verlinken der Video-Ressource.

                        Das ist aber ein sehr grundlegender Fallback zumal Flash-zu-HTML5-Fallback-Lösung mit fertigen Playern absolut kein Problem ist. Mit dem Flowplayer ist das mit ein paar Zeilen Code erledigt (und als letzliche Lösung ist nur der Link da :).

                        http://flowplayer.org/demos/installation/index.html

                    2. Moin Moin!

                      Ich stimme dir fast uneingeschränkt zu, aber das hier muss ich nochmal genauer ausführen:

                      Wenn man eine funktionierende Fallback-Lösung hat, kann man ohnehin auf Flash und Java verzichten und so den zusätzlichen Aufwand vermeiden. HTML 5 bietet endlich Features, die Flash überflüssig machen.

                      Es gibt keine funktionierende Fallback-Lösung für das Abspielen von Filmen, [...]

                      Mag sein (was ist mit <video> in HTML 5 bzw. <object> in HTML bis 4?), ABER Flash kann mehr als nur Filme abzududeln. Dieses "mehr" kann man sehr oft auch mit HTML, CSS und ggf. Javascript erschlagen. Und wenn man sich die Mühe gemacht hat, des Designers Träume mit diesen Mitteln umzusetzen, kann man sich die Mühe sparen, alles nochmal in Flash zu bauen.

                      Alexander

                      --
                      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
                      1. Es gibt keine funktionierende Fallback-Lösung für das Abspielen von Filmen, [...]

                        Mag sein (was ist mit <video> in HTML 5 bzw. <object> in HTML bis 4?), ABER Flash kann mehr als nur Filme abzududeln. Dieses "mehr" kann man sehr oft auch mit HTML, CSS und ggf. Javascript erschlagen. Und wenn man sich die Mühe gemacht hat, des Designers Träume mit diesen Mitteln umzusetzen, kann man sich die Mühe sparen, alles nochmal in Flash zu bauen.

                        Da bin ich voll bei dir - aber meine Ergänzung bezog sich ausschließlich auf Filme :)

                  2. Hallo,

                    Wenn Du auch andere Systeme berücksichtigen willst, kommt eigentlich nur noch Java in Frage, mit einer README-Datei im Hauptverzeichnis der CD, die das Start-Prozedere für diverse gängige Systeme erklärt, zusätzlich eine AUTORUN.INF und eine 32-Bit-Windows-EXE, die die Java-Applikation auf Windows-Systemen automatisch starten.

                    gibt es denn ein JRE für Windows als Portable App, die keine Installation braucht? Meine Ablehnung von Java-Anwendungen (oder auch Java-Applets im Browser) auf Windows-Hosts ist hauptsächlich darin begründet, dass die Installation des Sun JRE ein zunächst gut funktionierendes Windows[*] völlig verkonfiguriert.

                    Ciao,
                     Martin

                    [*] Gehen wir dabei mal von XP aus.

                    --
                    Solange der Nagellack nicht trocken ist,
                    ist eine Frau praktisch wehrlos.
                      (Burt Reynolds, US-Schauspieler)
                    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
                    1. Hallo,

                      gibt es denn ein JRE für Windows als Portable App, die keine Installation braucht?

                      meinst du sowas: java portable

                      gruß
                      Kalk, der damit keine weitere Erfahrung hat...

                    2. Moin Moin!

                      Wenn Du auch andere Systeme berücksichtigen willst, kommt eigentlich nur noch Java in Frage, mit einer README-Datei im Hauptverzeichnis der CD, die das Start-Prozedere für diverse gängige Systeme erklärt, zusätzlich eine AUTORUN.INF und eine 32-Bit-Windows-EXE, die die Java-Applikation auf Windows-Systemen automatisch starten.

                      gibt es denn ein JRE für Windows als Portable App, die keine Installation braucht?

                      Keine Ahnung. Irgendetwas in der Richtung muß es geben, denn Oracles Universal Installer ist auch mit Java (und heißen Nadeln, glühenden Kneifzangen und einigen Merkbefreiungen) gestrickt, und der funktioniert auf einem jungfräulichen Windoof ohne vorinstalliertes Java.

                      Ich bin ohne großartig weiter darüber nachzudenken davon ausgegangen, dass irgendwann so ziemlich jeder Windoof-PC mit Java verseucht wird. OpenOffice bringt Java mit, Oracle bringt Java mit, Auerswald bringt Java mit (nein, das ist nicht wirklich eine Standard-Anwendung), MS selbst hat irgendwann mal eine prähistorische und nicht ganz kompatible JRE zum IE dazu gepackt, und gelegentlich schreien auch Websites laut und nachdrücklich noch nach Java (z.B. für Online-Frankierung).

                      Notfalls muß man halt in den sauren Apfel beißen und die Start-EXE so stricken, dass sie erstmal ein JRE-Setup startet, wenn kein brauchbares JRE zu finden ist. Ein passender JRE-Installer muß dann halt auch noch auf die CD.

                      Meine Ablehnung von Java-Anwendungen (oder auch Java-Applets im Browser) auf Windows-Hosts ist hauptsächlich darin begründet, dass die Installation des Sun JRE ein zunächst gut funktionierendes Windows[*] völlig verkonfiguriert.

                      Java ist immer noch langsamer als Native-Anwendungen und vor allem muß ja in Java ALLES neu erfunden werden, inklusive GUI-Gestaltung. Aber das eine JRE Windows zerkonfiguriert, ist mir bislang nicht passiert. Klar, wie jede andere Bloatware auch installiert Java irgendwelche Autostarts und/oder Services, aber die kann man ja anschließend wieder beseitigen bzw. stillegen.

                      Alexander

                      --
                      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
                      1. Hallo,

                        gibt es denn ein JRE für Windows als Portable App, die keine Installation braucht?
                        Keine Ahnung. Irgendetwas in der Richtung muß es geben, denn Oracles Universal Installer ...

                        ... ist bisher zum Glück an mir vorbeigegangen. Anscheinend nutze ich keine Oracle-Software. Doch, VirtualBox. Aber nur auf Ubuntu, und da brauche ich keinen Oracle Installer, das macht Synaptic bzw. apt-get.

                        Ich bin ohne großartig weiter darüber nachzudenken davon ausgegangen, dass irgendwann so ziemlich jeder Windoof-PC mit Java verseucht wird. OpenOffice bringt Java mit, ...

                        AFAIK nur auf Wunsch. Ich hatte früher mal OpenOffice auf einem Windows-PC, da konnte ich beim Setup auswählen, ob ich Java haben will oder nicht. Wollte ich dann lieber nicht.

                        MS selbst hat irgendwann mal eine prähistorische und nicht ganz kompatible JRE zum IE dazu gepackt

                        Diesem Konzept trauere ich ehrlich gesagt noch nach. Denn das war eine kleine, schlanke und in sich gekapselte JVM, die ausschließlich ein Browser-Plugin für den IE war und sonst nirgends in Erscheinung trat, und AFAIK irgendwann wegen des unvermeidlichen Zoffs mit Sun nicht mehr verbreitet werden durfte.
                        Opera gab es in frühen Versionen auch jeweils in einer Version mit integrierter JVM oder ohne.

                        und gelegentlich schreien auch Websites laut und nachdrücklich noch nach Java (z.B. für Online-Frankierung).

                        Die einzige von denen, die ich nutzen muss, ist das Elster-Onlineportal. Und es ist zum junge-Hunde-Kriegen: Ich habe es bisher nur auf EINEM EINZIGEN System geschafft, den Zugang zu Elster Online funktionierend hinzukriegen - und das ist ein steinaltes Ubuntu 9.04 (jaunty) mit Firefox 3.0-irgendwas. Der Support für diese Ubuntu-Version ist längst eingestellt, die Software-Repositories anscheinend nicht mehr zugänglich (zumindest sagt Synaptic das, wenn ich doch versuche, auf dieser Büchse noch was zu installieren), aber solange ich auf keinem anderen Rechner einen funktionierenden Zugang zu Elster habe, muss ich dieses Software-Schätzchen hüten und pflegen.

                        Auf neueren Versionen habe ich das Problem, dass Elster entweder sagt, Linux werde nicht unterstützt (es könnte eventuell trotzdem funktionieren), Opera werde nicht unterstützt (es könnte eventuell trotzdem funktionieren), und wenn ich all diese Warnungen ignoriere, beklagt sich Elster, dass es ein Problem bei der Übergabe von Cookies zwischen Java und dem Browser gebe. Und zwar sowohl mit Opera 11.60, als auch Firefox 3.6-irgendwas, als auch mit einem aktuellen Chromium. Ich bin ehrlich gesagt ratlos, was die *wirklich* wollen.

                        So long,
                         Martin

                        --
                        Wer es in einem Unternehmen zu etwas bringen will, muss so tun, als hätte er es schon zu etwas gebracht.
                        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
                        1. Moin Moin!

                          gibt es denn ein JRE für Windows als Portable App, die keine Installation braucht?
                          Keine Ahnung. Irgendetwas in der Richtung muß es geben, denn Oracles Universal Installer ...

                          ... ist bisher zum Glück an mir vorbeigegangen. Anscheinend nutze ich keine Oracle-Software. Doch, VirtualBox. Aber nur auf Ubuntu, und da brauche ich keinen Oracle Installer, das macht Synaptic bzw. apt-get.

                          Neee, so "universal" ist der UI nun auch nicht. Das ist das Stückchen Software, dass eine Oracle-DB (ab Version 9 (?)) oder auch nur den Client dafür auf einen Rechner schafft. Was bei einer Vollinstallation der DB mit allen Extras etliche Gigabytes sind. Java, Tonnen von DLLs, OCXe, JRE, JDK, Apache, Perl, C-Header, Beispiele, Shell-Scripte, Batches, und irgendeine Frickel-mir-Java-an-den-Webserver-Kiste ist auch noch dabei.

                          Ich bin ohne großartig weiter darüber nachzudenken davon ausgegangen, dass irgendwann so ziemlich jeder Windoof-PC mit Java verseucht wird. OpenOffice bringt Java mit, ...

                          AFAIK nur auf Wunsch. Ich hatte früher mal OpenOffice auf einem Windows-PC, da konnte ich beim Setup auswählen, ob ich Java haben will oder nicht. Wollte ich dann lieber nicht.

                          Genau. Aber ohne Java sind dann einige etwas weniger wichtige Funktionen lahmgelegt. Siehe OOo Wiki (anscheinend schon etwas angestaubt).

                          MS selbst hat irgendwann mal eine prähistorische und nicht ganz kompatible JRE zum IE dazu gepackt

                          Diesem Konzept trauere ich ehrlich gesagt noch nach. Denn das war eine kleine, schlanke und in sich gekapselte JVM, die ausschließlich ein Browser-Plugin für den IE war und sonst nirgends in Erscheinung trat, und AFAIK irgendwann wegen des unvermeidlichen Zoffs mit Sun nicht mehr verbreitet werden durfte.

                          Zu der Zeit (IE5, NN4) mußte ich ein Java-Applet bauen, dass zusammen mit Javascript einen ständig aktualisierten Navigationsbaum getrickst hat, erschwerend kamen noch Frames dazu, und natürlich sollte das alles kundenspezifisch aussehen können. GRU-SEL-IG! Nicht nur, dass MS und Sun sich nicht wirklich einigen konnten, wie man das Applet in die Seite bekommt, nein, auch die Kommunikation mit JS brauchte SEHR viele Workarounds, weil eben nicht jeder der Beteiligten einfach so mit dem anderen kommunizieren konnte bzw. durfte. Und natürlich gabs bei MS nur die erste Version der UI-API (AWT), nur mit dem Sun-Plugin konnte man Swing nutzen. Also mußte wegen dem IE und dessen JRE alles mit AWT gefrickelt werden.

                          Ich trauere der MS-JRE nicht nach, genauso wenig wie dem IE5 und dem NN4.

                          Opera gab es in frühen Versionen auch jeweils in einer Version mit integrierter JVM oder ohne.

                          Richtig.

                          und gelegentlich schreien auch Websites laut und nachdrücklich noch nach Java (z.B. für Online-Frankierung).

                          Die einzige von denen, die ich nutzen muss, ist das Elster-Onlineportal. [...]
                          Ich bin ehrlich gesagt ratlos, was die *wirklich* wollen.

                          Vermutlich weiß das bei denen auch niemand mehr, weil man halt "erst mal für Windows, und später dann mal richtig" geplant hat, wie so oft. Und das "später mal richtig" hat man dan aus Zeit- und/oder Kostengründen mehr oder weniger unter den Tisch fallen lassen. Und je mehr mal "auf Windows optimiert", desto weniger stimmt "Write once, run anywhere". Schon allein, weil die ganze OS-Anbindung wahnsinnig komplex wird und ein Port auf ein anderes OS de facto auf Neuschreiben hinausläuft.

                          Genau den Effekt kann man auch z.B. bei der schon erwähnten Steuersoftware für mittelalte Auerswald-Telefonanlagen beobachten. Alles in Java gestrickt, dazu gibt es ein paar Native Libraries, die sich um die Low-Level-Kommunikation mit der Anlage über CAPI, USB oder RS232 kümmern. Die gibt es aber nur für Windows, und mit mehr oder weniger massiven Einschränkungen für Mac OS X und Linux x86/x64. Wer andere Systeme hat, schaut in die Röhre und kann die Anlage ausschließlich über lange Zahlencodes per Telefon programmieren. Einige Programme gibt es auch ausschließlich für Windows. Ach ja, für Windows ist das von Auerswald bereitgestellte JRE-Paket zu benutzen, was anderes nehmen die Java-Starter-EXEs nicht an. Die neueste Generation hat einen Webserver eingebaut, aber das Web-Interface ist wohl deutlich verbesserungsfähig. Mal sehen, ob das vor der zukünftigen Generation noch was wird. Vermutlich wird das aber eher auf "never touch a running system" hinauslaufen.

                          Alexander

                          --
                          Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
          2. Hi,

            Lieber Felix, Caching würde etwas bringen, wenn es sich um eine Website handelte. Es geht aber um eine umfangreiche Site, die nur lokal, z.B. von einer CD aus verwendet wird.

            Beschwere dich bitte nicht, wenn wir wichtige Umgebungsbedingungen nicht erraten, die du uns verschweigst.

            Doch selbst wenn die ganze Site auf der Festplatte steht, dauert das Laden für den praktischen Gebrauch noch zu lange (bei den meisten Browsern einige Sekunden, die sehr lästig sind, wenn man die Daten 2 bis 3 mal in der Minute braucht).

            Das könnte bei 10 MB Daten in HTML-Form (wie auch immer das konkret aussehen mag) ggf. auch schon die reine Parsing-Zeit sein.

            Und ein Browser-Cache ist meines Wissens auch nichts anderes, als eine Datei auf der Festplatte und nicht eine Datei im Memory.

            Selbstverständlich können aktuelle Browser auch im RAM cachen. Bei guten Browsern ist sogar einstellbar, wie viel Speicher sie dafür belegen dürfen.

            Ich stelle fest, mit meiner Frage mag sich bisher niemand befassen, sondern nur mit Vermeidungsstrategien.

            Wenn du keine Diskussion über ggf. sinnvolle Alternativen willst, dann bist du hier falsch. Und dein Problemchen sowie die Art wie du es hier präsentierst lässt nicht unbedingt darauf schließen, dass du über ausreichend Erfahrung und Kenntnisse verfügst, um solche Alternativen erstens selber erkennen und zweitens auch hinsichtlich ihrer Eignung beurteilen kannst.

            Zieh in Betracht, dass du dich auf dem Holzweg befinden könntest, und prüfe Alternativ-Vorschläge sorgfältig, bevor du jammerst, hier würde sich nicht mit deiner Frage befasst - das Gegenteil ist der Fall.

            MfG ChrisB

            --
            RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
      2. Hi,

        Warum ich frames verwende steht zwar hier gar nicht zur Diskussion, der Grund ist, dass ich auf vielen meiner Seiten eine große Datenmenge zur ständigen Verfügung brauche, die in einer html-datei von ca. 10 MB enthalten sind. Diese Datei möchte ich aber nicht bei jedem Wechsel der aktuellen Datei neu laden, geladen aber muss sie sein, weil ich sonst die Daten für meine js-Programme nicht habe.

        Wenn es sich eh um Daten handelt, die du im JavaScript verwenden willst - dann wäre ggf. eine Ablage bspw. im JSON-Format, und Einbindung als externe Scriptressource - die dann natürlich entsprechend gecached wird, wie Felix schon ansprach - keine schlechte Alternative.

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
        1. Hi,

          Warum ich frames verwende steht zwar hier gar nicht zur Diskussion, der Grund ist, dass ich auf vielen meiner Seiten eine große Datenmenge zur ständigen Verfügung brauche, die in einer html-datei von ca. 10 MB enthalten sind. Diese Datei möchte ich aber nicht bei jedem Wechsel der aktuellen Datei neu laden, geladen aber muss sie sein, weil ich sonst die Daten für meine js-Programme nicht habe.

          Wenn es sich eh um Daten handelt, die du im JavaScript verwenden willst - dann wäre ggf. eine Ablage bspw. im JSON-Format, und Einbindung als externe Scriptressource - die dann natürlich entsprechend gecached wird, wie Felix schon ansprach - keine schlechte Alternative.

          MfG ChrisB

          Hallo Chris,

          ich hatte mich bisher mit JSON überhaupt nicht befasst und deshalb auch gar nicht auf die Idee gekommen, die erforderlichen Daten in dieser Weise abzuspeichern. Nach einer flüchtigen Übersicht über das, was JSON ist und leistet, scheint das eine gute Alternative zu sein, aber das muss ich erst genauer klären. Vielen Dank für den Hinweis.

          Artnat.

        2. Hallo Chris,

          Mit der Abklärung von JSON bin ich noch nicht ganz soweit, aber ich habe eine Frage zu einem Nebensatz Deines Statements:

          als externe Scriptressource - die dann natürlich entsprechend gecached wird

          Wie erreiche ich, dass eine Seite im Cache wirklich zwischengespeichert wird?

          Ich habe in FF das automatische Cache-Management eingeschaltet, habe das Limit für den RAM-Cache auf 50 MB gesetzt, habe den Cache geleert und anschließend meine Site (in einer früheren Version) geladen und bin darin herumnavigiert. Insgesamt wurden sicher Seiten mit zusammen 30 MB im Browser geladen, darunter eine Seite mit 10 MB und zwei oder drei mit ca. 2-3 MB. Ich konnte aber beim Wiederladen einer Seite nie feststellen (mit der Stoppuhr), dass das Laden dann schneller ging. Am Ende zeigte mir Firefox an, dass es gerade mal 250 KB im Cache hatte.

          Wie kann ich erreichen, dass die geladenen Seiten wirklich im Cache landen?

          Artnat.

          1. Moin Moin!

            Mit der Abklärung von JSON bin ich noch nicht ganz soweit, aber ich habe eine Frage zu einem Nebensatz Deines Statements:

            als externe Scriptressource - die dann natürlich entsprechend gecached wird

            Wie erreiche ich, dass eine Seite im Cache wirklich zwischengespeichert wird?

            Die Entscheidung liegt ganz alleine beim Browser. So lange Du vom Dateisystem aus herumhampelst, stehen die Chancen extrem schlecht, daran etwas zu ändern. Wenn der Browser mit einem Webserver kommuniziert, kann der Webserver entsprechende Hinweise in die HTTP-Header packen, allen voran den Expires-Header (der zwingend auch einen Date-Header benötigt). Und wenn Du ohnehin einen Webserver hast, kann dieser auch entscheiden, welche Daten der Browser im Moment wirklich braucht. Dann müssen nämlich eben nicht die gesamten Daten auf einen Schlag in den Browser geschafft werden.

            Alexander

            --
            Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
        3. Hallo ChrisB,

          vielen Dank für Deine Anregung, die Daten in JSON bereitzustellen.

          Ich habe jetzt zwar nicht exakt JSON ausprobiert, aber in externen Javascripts Array-Objekte mit meinen Daten definiert. Das geht sehr schön, solange diese JS-Dateien unterhalb von 100 KB bleiben. Sobald die Datenmenge größer wird, wird das jeweilige Array nicht mehr gefunden, vermutlich wird die js-Datei dann nicht mehr geladen. Weiß jemand, wie man diese Grenze erweitern kann?

  2. top['oben'].location.href = "test-oben-neu.htm"

    Was spricht gegen:
    this.document.location.href = "test-oben-neu.htm"
    javascript: kannst du auch weglassen
    Gruß

    1. top['oben'].location.href = "test-oben-neu.htm"
      Was spricht gegen:
      this.document.location.href = "test-oben-neu.htm"
      javascript: kannst du auch weglassen
      Gruß

      Hallo Bolle,

      dagegen spricht überhaupt nichts, es ist auch eleganter, aber am Verhalten ändert sich dadurch leider gar nichts. Wie ich inzwischen festgestellt habe, wird diese Geschichte in unterschiedlichen Browsern ganz unterschiedlich beantwortet.

      Gruss artnat.

    2. Eines schönen Tages war er weg und wird seitdem schmerzlich vermißt !
      :-\

  3. Hallo,

    [...] Habe das Problem auf simple Testdateien zurückgeführt. Datei test-top.htm ist ein simples Frameset, das die Dateien test-oben.htm und test-unten.htm lädt. test.oben enthält ein kurzes javascript, das sich meldet und anschließend die datei test-oben.htm gegen test-oben-neu.htm austauscht. Wenn ich dieses Javascript über ein <a>-onclick starte, wird der Austausch wie vorgesehen vorgenommen. Starte ich es aber über eine Texteingabe und onchange so meldet sich das Script zwar richtig, es passiert anschließend aber nichts,

    ich kann mit Deinen Dateien plus einer Dummyfunktion ausgabe() Deine Problembeschreibung nicht nachvollziehen.

    Wenn ich den Link anklicke, erhalte ich im oberen Frame das unveränderte Dokument und werde, wenn ich den Inhalt des Textfeldes geändert habe, weitergeleitet.

    Ich stelle fest: das Verhalten ist genau umgekehrt wie von Dir beschrieben.

    Freundliche Grüße

    Vinzenz

    1. Hallo,

      [...] Habe das Problem auf simple Testdateien zurückgeführt. Datei test-top.htm ist ein simples Frameset, das die Dateien test-oben.htm und test-unten.htm lädt. test.oben enthält ein kurzes javascript, das sich meldet und anschließend die datei test-oben.htm gegen test-oben-neu.htm austauscht. Wenn ich dieses Javascript über ein <a>-onclick starte, wird der Austausch wie vorgesehen vorgenommen. Starte ich es aber über eine Texteingabe und onchange so meldet sich das Script zwar richtig, es passiert anschließend aber nichts,

      ich kann mit Deinen Dateien plus einer Dummyfunktion ausgabe() Deine Problembeschreibung nicht nachvollziehen.

      Wenn ich den Link anklicke, erhalte ich im oberen Frame das unveränderte Dokument und werde, wenn ich den Inhalt des Textfeldes geändert habe, weitergeleitet.

      Ich stelle fest: das Verhalten ist genau umgekehrt wie von Dir beschrieben.

      Freundliche Grüße

      Vinzenz

      Hallo Vinzenz,

      ich bin inzwischen zwar auch noch nicht wesentlich schlauer, aber ich habe die Sache auf verschiedenen Browsern getestet und siehe da, unter Opera habe ich das Verhalten gefunden, das Du beschreibst. Unter Safari funktioniert keine der beiden Möglichkeiten und der Iexplore macht anstelle gesuchten Datei ein Dateieingabefenster auf. Es ist also offenbar irgendetwas an dem Code, was die Browser nicht klar interpretieren können, aber ich weiß noch nicht was.

      1. Om nah hoo pez nyeetz, artnat!

        bitte zitiere sinnvoll, TOFU und Co. sind hier unerwünscht.

        Matthias

        --
        1/z ist kein Blatt Papier.

        1. Om nah hoo pez nyeetz, artnat!

          bitte zitiere sinnvoll, TOFU und Co. sind hier unerwünscht.

          Matthias

          Hallo Matthias,

          ich versuche, Klartext zu reden, hätte das aber auch gerne von Dir. Ich habe keine Ahnung, was nicht sinnvoll zitiert ist und was Du mit TOFU und Co. meinst.

          Artnat.

          1. Hallo,

            ich versuche, Klartext zu reden, hätte das aber auch gerne von Dir. Ich habe keine Ahnung, was nicht sinnvoll zitiert ist und was Du mit TOFU und Co. meinst.

            TOFU ist das Acronym für "Text oben, Fullquote unten" und bezeichnet die Unart, das komplette Vorposting unten anzuhängen oder - noch übler - komplett oben stehenzulassen, so wie du es tust.
            Auch in e-Mails wird TOFU oder eine seiner Abarten oft praktiziert, und da ist es ebenso lästig.

            Zitiere die Abschnitte, auf die du dich konkret beziehst, so dass der Kontext klar wird, und lass den Rest weg.

            So long,
             Martin

            --
            They say hard work never killed anyone, but I figure, why take the risk?
              (Ronald Reagan, US-Präsident 1981-1989)
            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
            1. Hallo Der,

              Auch in e-Mails wird TOFU oder eine seiner Abarten oft praktiziert, und da ist es ebenso lästig.

              oft ist TOFO aber auch erwünscht, z.B. bei Mailverkehr mit Hotlines. Also bitte keine Pausschalaussagen.

              Gruß, Jürgen