Ankündigung

Einklappen
Keine Ankündigung bisher.

HTML Refresh in Frames - Firefox 2 vs. Internet Explorer 7

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    HTML Refresh in Frames - Firefox 2 vs. Internet Explorer 7

    Hallo zusammen,

    ich hätt' da gern mal'n Problem ...

    eigentlich ist ja Firefox dafür bekannt, dass er im Gegensatz zum IE einen nicht sichtbaren Refresh machen kann.

    Ich bastel gerade eine Visualisierung und setze dabei HTML-Frames (keine iFrames) ein. Ich habe 4 Frames, davon soll einer automatisch refreshed werden. Hier habe ich genau das umgekehrte Bild: Bei Firefox sehe deutlich den Refresh, d.h. Frame wird gelöscht und neu aufgebaut. Sehr störend! Beim Internet Explorer ist dies nicht zu beobachten, auch nicht bei sekündlichem Refresh. Beide Browser setze ich in der aktuellsten Version unter Windows XP ein.

    Wenn ich den zu refreshenden Frame in einem separaten Fenster aufrufe (d.h. ohne Frames), dann ist es wie erwartet, d.h. der Refresh bei IE ist deutlich sichtbar, bei Firefox hingegen nicht.

    Ist dieses Phänomen bekannt? Kann Firefox auch einen vernünftigen Refresh bei Einsatz von HTML-Frames?

    #2
    Hallo,

    Refresh bei Browsern sind eigentlich immer sichtbar, weil die Seite geladen und neu gerendert wird. Abhangig vom Cache und vom Cacheverhalten wird eine Seite jedoch auch mal nicht neu dargestellt bzw. "schneller" gerendert, wenn es zur Ursprungsseite keine Abweichung gibt.

    Lediglich Veranderungen am HTML-Code durch JavaScript bzw. über AJAX werden direkt in die Seite "geschrieben" und lösen daher keinen komplettes rendern der Seite bzw. des Frames aus.


    Wenn Du also kein sichbares Rendern (Refresh) haben willst, solltest Du die Daten per AJAX holen und dann in den DIV-Container des Frames (aber wozu benötigst du dann noch Frames) setzen...

    Kommentar


      #3
      Ajax Refresh ...

      Ich bin derzeit dabei eine Mini-VISU auf Basis von php und ajax zu entwickeln und frage mich, wie der HS in der Ajax-Visu die Objekte refreshed, z.b. wenn über einen KNX-Taster (nicht über die VISU) eine Beleuchtung eingeschaltet wird.
      Ich vermute es wird über einen setTimeout-Befehl im Javascript passieren, so dass die dynamische Elemente per Ajax regelmäßig angefordert werden. Das ist zumindest im Moment mein Ansatz. Macht der HS das genauso? Wie wird dort das Refresh-Intervall gewählt? Ich habe festgestellt, wenn ich dass Intervall auf 1 Sekunde setze, dann ist meine apache auf einem Dual-Core 2Ghz bei 6% Prozessorlast.

      Gibt es andere Möglichkeiten mit Ajax ein dynamisches Update zu machen? Da HTTP ja verbindungslos ist, muss es doch ein regelmäßiges Polling seitens des Clients geben, oder?

      Kommentar


        #4
        Hallo,

        vieleicht hilft das weiter:

        http://ajaxpatterns.org/HTTP_Streaming

        MfG
        Peter

        Kommentar


          #5
          Hallo
          Suche mal nach Comet.
          Comet ist das Ausnützen von offenen Verbindungen, um dem Client durchgehend neue Informationen zu geben.
          Comet ist der Nachfolger von AJAX.
          http://wiki.ajax-community.de/know-how:comet

          Gruß NetFritz
          Der mit eibd PHP und mySQL
          KNX & Wago 750-849 ,Wiregate u. Cometvisu, iPad 3G 64GB.
          WP Alpha-Innotec WWC130HX (RS232-Moxa-LAN),Solaranlage für Brauchwasser und Heizung.
          PV-Anlage = SMA Webbox2.0 , SunnyBoy 4000TL, Sharp 4kWP

          Kommentar


            #6
            Zitat von jonofe Beitrag anzeigen
            Gibt es andere Möglichkeiten mit Ajax ein dynamisches Update zu machen? Da HTTP ja verbindungslos ist, muss es doch ein regelmäßiges Polling seitens des Clients geben, oder?
            Nein, nicht wirklich. Ohne ein regelmäßiges "abfragen" des Servers nach neuen Inhalten ist das nicht möglich, da der Server von sich aus den Client nicht erreicht. Es muss also gepollt werden.

            Ich helf mir damit, auf dem Server eine "update-variable" zu nutzen; ist nichts zum updaten da, gebe ich lediglich ein Kennzeichen "nix zu tun" an den Client.... Somit wird die Serverauslastung reduziert. Teilweise steuere ich auch den Timer vom Server aus. Ich verlängere die Pollingzeiten, bis zu einem maxmum, solange am Server nichts neues auftaucht.

            Kommentar


              #7
              Hallo
              @ AScherff
              Es muss also gepollt werden.
              Bei Comet wird nicht gepollt.
              Es wird die Verbindung zwischen Browser und Server gehalten.
              Der Server sendet erst wieder Daten wenn er neue hat.

              Gruß NetFritz
              Der mit eibd PHP und mySQL
              KNX & Wago 750-849 ,Wiregate u. Cometvisu, iPad 3G 64GB.
              WP Alpha-Innotec WWC130HX (RS232-Moxa-LAN),Solaranlage für Brauchwasser und Heizung.
              PV-Anlage = SMA Webbox2.0 , SunnyBoy 4000TL, Sharp 4kWP

              Kommentar


                #8
                Zitat von NetFritz Beitrag anzeigen
                Bei Comet wird nicht gepollt.
                aehh.... was ist Comet??

                Ne im Ernst, die meisten wissen nicht mal was AJAX ist (nein, kein Putzmittel), geschweige denn, wie man damit vernünftig programmiert, da nicht nur JavaScript notwendig ist, sondern auch noch eine Serverseitige Sprache.

                "Comet" mag sicher ein interessanter Aspekt sein, steckt aber noch ziemlich in den Kinderschuhen.... also nichts, worauf ich momentan entwickeln würde...

                Kommentar


                  #9
                  Ich glaube COMET bzw. HTTP-Streaming es ist nicht viel anders als ajax ... es verwendet zumindest nach meinem Verständnis dieselbe Technologie um Daten an den Client zu senden.

                  Und ich glaube ich könnte es einfach realisieren wenn ich einfach mein php Skript, welches meine VISU-Seite per Ajax refreshed, einfach in eine Endlosschleife laufen lasse und in dieser Endlosschleife die Eventbearbeitung mache. D.h. es wird nur eine neue HTTP-Connection zwischen Client und Server aufgebaut wenn die VISU bedient wird (neuer HTTP Aufruf durch den Browser), nicht aber wenn sich der Zustand anderweitig auf dem KNX ändert und diese Änderung für die VISU relevant ist. Solche Änderungen würden über die bestehende Verbindung (Endlosschleife) übertragen.

                  Frage: Habe ich das richtig verstanden? Besonders den ersten Link zum HTTP Streaming fand ich da sehr aufschlussreich.

                  Wenn ja, dann wäre interessant wie der Unterschied in der Performance bzw. der resultierenden Last auf dem Webserver zwischen den beiden Varianten ist.

                  Glaube ich werde das mal ausprobieren ...

                  Kommentar


                    #10
                    Hallo
                    @ AScherff
                    Ne im Ernst, die meisten wissen nicht mal was AJAX ist (nein, kein Putzmittel), geschweige denn, wie man damit vernünftig programmiert, da nicht nur JavaScript notwendig ist, sondern auch noch eine Serverseitige Sprache.
                    Also AJAX läuft auch nicht ohne eine Serverseitige Sprache.
                    Ich habe schon vor über 2 Jahren mir eine Webseite mit AJAX gebaut.

                    Hier mal ein Auszug aus dieser Webseite über Comet.
                    http://www.xajaxproject.de/2007/12/15/comet-streaming/
                    Die Technik an sich ist keineswegs neu, im Zuge des Web2.0 Hypes wurde sie "Comet" getauft und erfreut sich bei Entwicklern wachsender Beliebtheit. Der Haken daran ist nur, dass die Möglichkeiten der Implementierung in den Browsern sehr unterschiedlich ausfallen. An dieser Stelle setzt das neue Plugin an.

                    Die Webseite zum Plugin.http://www.xajaxproject.org/plugins/default/view/16
                    Mit dem Plugin läuft Comet auf folgende Browser.
                    * Firefox 2/3
                    * IE 6/7
                    * Opera 9
                    * Safari 3 / Chrome

                    Gruß NetFritz
                    KNX & Wago 750-849 ,Wiregate u. Cometvisu, iPad 3G 64GB.
                    WP Alpha-Innotec WWC130HX (RS232-Moxa-LAN),Solaranlage für Brauchwasser und Heizung.
                    PV-Anlage = SMA Webbox2.0 , SunnyBoy 4000TL, Sharp 4kWP

                    Kommentar


                      #11
                      Zitat von NetFritz Beitrag anzeigen
                      Der Haken daran ist nur, dass die Möglichkeiten der Implementierung in den Browsern sehr unterschiedlich ausfallen. An dieser Stelle setzt das neue Plugin....
                      Plugin.... ja klar...

                      Kommentar


                        #12
                        Zitat von AScherff Beitrag anzeigen
                        Plugin.... ja klar...
                        wieso Plugin?

                        "Comet is a neologism to describe a web application model in which a long-held HTTP request allows a web server to push data to a browser, without the browser explicitly requesting it. Comet is an umbrella term that uses multiple techniques for achieving this interaction. All methods have in common that they rely on browser-native technologies such as JavaScript, rather than on proprietary plugins." (Wikipedia)
                        Es grüßt der Alex!

                        Kommentar


                          #13
                          Hallo
                          @ AScherff
                          Plugin.... ja klar...
                          Bitte erkläre mir mal warum Du umfällst.

                          Es muss ja kein Plugin eingesetzt werden um mit Comet zu arbeiten.

                          Auch unter AJAX kann der HTMLRequest ohne Browerabfrage nicht programmiert werden.

                          Gruß NetFritz
                          KNX & Wago 750-849 ,Wiregate u. Cometvisu, iPad 3G 64GB.
                          WP Alpha-Innotec WWC130HX (RS232-Moxa-LAN),Solaranlage für Brauchwasser und Heizung.
                          PV-Anlage = SMA Webbox2.0 , SunnyBoy 4000TL, Sharp 4kWP

                          Kommentar


                            #14
                            Zitat von eibling Beitrag anzeigen
                            wieso Plugin?
                            Zitat von NetFritz Beitrag anzeigen
                            Hallo
                            Bitte erkläre mir mal warum Du umfällst.
                            Also ich mag euch ja nicht von Comet abhalten. Es muss ja immer Pioniere geben, die sich mit neuen Dingen beschäftigen.

                            Ich arbeite selber viel mit AJAX, vernünftig geht dies jedoch heute nur Dank guter JavaScript Frameworks.

                            Wenn ich an die Anfänge von AJAX denke wie "prototype", und das auf so Dinge wie Comet projeziere, dann ist das nur etwas für Leute die sich durchbeissen wollen...

                            Plugins oder "Browserweichen" sind nette workarounds. Bei einer individuellen Einzellösung hab ich da auch nicht gegen, nur ich würde nicht darauf setzen...

                            Ist nur meine Meinung. Kann jeder halten wie er will...

                            Kommentar


                              #15
                              Hallo
                              Dann ist ja alles klar.

                              Gruß NetFritz
                              KNX & Wago 750-849 ,Wiregate u. Cometvisu, iPad 3G 64GB.
                              WP Alpha-Innotec WWC130HX (RS232-Moxa-LAN),Solaranlage für Brauchwasser und Heizung.
                              PV-Anlage = SMA Webbox2.0 , SunnyBoy 4000TL, Sharp 4kWP

                              Kommentar

                              Lädt...
                              X