Joerg: JS-Datei neu laden, ohne Site Refresh

Hallo,

ich rufe per "window.setTimeout('aufruf()',3000)" alle 3 sek die funktion "aufruf" in meiner JS-Datei auf.
In der Js-Datei hole ich mir per ASP werte aus einer Datenbank und speichere diese in einem Array.
Wenn ich nun alle 3 sek die Funktion starte, bekomme allerdings immer die selben alten Werte, weil die JS-Datei nicht aktualisiert wurde.
Wie kann ich veranlassen, dass die JS-Datei alle 3 sek neu geladen wird, damit das Array immer die neusten Werte hat. OHNE die Site neu zu laden!

Gruss Joerg

  1. Hi

    ich rufe per "window.setTimeout('aufruf()',3000)" alle 3 sek die funktion "aufruf" in meiner JS-Datei auf.
    In der Js-Datei hole ich mir per ASP werte aus einer Datenbank und speichere diese in einem Array.
    Wenn ich nun alle 3 sek die Funktion starte, bekomme allerdings immer die selben alten Werte, weil die JS-Datei nicht aktualisiert wurde.
    Wie kann ich veranlassen, dass die JS-Datei alle 3 sek neu geladen wird, damit das Array immer die neusten Werte hat. OHNE die Site neu zu laden!

    Garnicht. Verwende andere Methoden, JS-Daten on-the-fly zu aktualisieren.

    Fabian

  2. Hallo,

    ich rufe per "window.setTimeout('aufruf()',3000)" alle 3 sek die funktion "aufruf" in meiner JS-Datei auf.
    In der Js-Datei hole ich mir per ASP werte aus einer Datenbank und speichere diese in einem Array.
    Wenn ich nun alle 3 sek die Funktion starte, bekomme allerdings immer die selben alten Werte, weil die JS-Datei nicht aktualisiert wurde.
    Wie kann ich veranlassen, dass die JS-Datei alle 3 sek neu geladen wird, damit das Array immer die neusten Werte hat. OHNE die Site neu zu laden!

    Das geht nur über ein reload einer HTML Seite, weil die meisten Browser das JS nicht neu parsen.
    Lösung: bau dir ein frameset mit einem 0% grossen Frame und mach da ein reload.

    Struppi.

    1. Das geht nur über ein reload einer HTML Seite, weil die meisten Browser das JS nicht neu parsen.
      Lösung: bau dir ein frameset mit einem 0% grossen Frame und mach da ein reload.

      Struppi.

      Hi Struppi,

      war 'ne gute Idee. Dieses "Blindframe" wird zwar neu geladen und, so wie es aussieht, auch die JS-Datei, aber der ASP Teil der JS-Datei wird nicht aktualisiert.
      Ich habe im Header nur den Verweis zur JS-Datei (src=datei.js) das muss doch reichen, oder?

      Gruss Joerg

      1. war 'ne gute Idee. Dieses "Blindframe" wird zwar neu geladen und, so wie es aussieht, auch die JS-Datei, aber der ASP Teil der JS-Datei wird nicht aktualisiert.
        Ich habe im Header nur den Verweis zur JS-Datei (src=datei.js) das muss doch reichen, oder?

        Aktualisierst du die js Datei?

        Struppi.

        1. Aktualisierst du die js Datei?

          Struppi.

          Der ASP Teil wird doch in dem Moment ausgefuehrt, in dem ich die JS-Datei neu lade, oder?

          Gruss Joerg

          1. hi,

            Der ASP Teil wird doch in dem Moment ausgefuehrt, in dem ich die JS-Datei neu lade, oder?

            theoretisch. In der Praxis herrscht der Browsercache. Da gabs afaik einen Trick: gleich als Endung asp statt js verwenden, also
            <script language="javascript1.2" src="xyz.asp" type="text/javascript></script>

            Ich hab sowas mal mit php/css gemacht... vermutlich ist es total illegal ;-)

            Gruesse  Joachim

            1. <script language="javascript1.2" src="xyz.asp" type="text/javascript></script>

              Ich hab sowas mal mit php/css gemacht... vermutlich ist es total illegal ;-)

              Gruesse  Joachim

              Danke für den Tipp, ich glaube ich habe nur den "Type" vergessen. Die SRC ist bereits "datei.asp".

              Gruss Joerg

            2. Hallo Joachim,

              theoretisch. In der Praxis herrscht der Browsercache. Da gabs afaik einen Trick: gleich als Endung asp statt js verwenden, also
              <script language="javascript1.2" src="xyz.asp" type="text/javascript></script>

              ich weiß nicht, ob der IE da mitspielt - wer weiß, was der versucht mit einer .asp anzustellen :-)

              Ich hab sowas mal mit php/css gemacht... vermutlich ist es total illegal ;-)

              nein, afaik nicht - du musst nur den richtigen content-type liefern.

              Grüße aus Nürnberg
              Tobias

              --
              Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
            3. Moin Moin !

              theoretisch. In der Praxis herrscht der Browsercache. Da gabs afaik einen Trick: gleich als Endung asp statt js verwenden, also
              <script language="javascript1.2" src="xyz.asp" type="text/javascript></script>

              Warum sollte der Browser Resourcen, die mit .asp enden, anders behandeln als solche, die mit .js, .txt, .html, .foo, .blafasel oder sonstigem enden? OK, mag sein, daß der IE so einen Unsinn macht, aber daran sollte der Browser keinen nicht-cachebaren Inhalt erkennen. Die ASP-Seite muß sich als nicht oder nur kurzfristig cachebar markieren (=> HTTP-Header!).

              Quick and Dirty: Die URL für die Script-Source-Angabe dynamisch um ein Datum oder ein Zufallswert ergänzen:

              <script language="javascript1.2" src="xyz.asp?dummy=2003-03-18-16-39-45" type="text/javascript></script>

              Alexander

              --
              Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
              Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"