Ergebnis 1 bis 3 von 3

Thema: Warum will der IE nicht?

  1. #1
    Neuer Benutzer
    Registriert seit
    25.01.2009
    Beiträge
    2

    Standard Warum will der IE nicht?

    Hallo

    folgendes Script:

    Code:
            <script type="text/javascript">
         $(document).ready(function() {
           $("#refresh1").load("a.php");
           var refreshId = setInterval(function() {
              $("#refresh1").load('a.php');
           }, 10000);
        });
    </script>
    <div id="refresh1" style="text-align:left;"></div>
    im a.php wird ein kurzer Text angezeigt dieser soll alle 10 Sekunden aktualisiert werden. Der Firefox und Opera macht es wunderbar. Im IE bleibt immer der erste Text dort stehen und wenn sich in a.php etwas ändert, ändert es die Anzeige nicht (im Firefox und Opera gehts aber) An was liegt das und wie kann ich das beheben?

    edit: erledigt

    Code:
    $.ajaxSetup ({
        // Disable caching of AJAX responses */
        cache: false
    });
    is wohl ein Bug im IE

    mfg

    Chris
    Geändert von chrisi01 (13.01.2014 um 22:59 Uhr)

  2. #2
    Erfahrener Benutzer
    Registriert seit
    11.05.2011
    Ort
    Erde
    Beiträge
    605

    Standard

    Nein, das ist kein Bug im IE - es ist ein Verständnisproblem Deinerseits (so leid mir das jetzt auch tut), was "load()" eigentlich ist. Es ist nämlich eine "Methode" mit "integriertem Callback" - und aufgrund Deiner Parameterangaben verwendet diese entweder POST (wenn Du was mitschickst) oder eben GET. Du schickst nichts mit ... demnach wird GET verwendet!

    Willkommen also im normalen Browserverhalten - wenn eine URL bereits angefordert wurde, nimmt man gern eine 304 (not modified) und schon zeigt Dir IE immer den gleichen Content. Das ist auch nicht IE-eigen ... das lässt sich prima in anderen Browsern ebenfalls nachbilden (gerade bei Mobilgeräten).

    Demnach hast Du mit "cache:false" natürlich nun den Jackpot getroffen. Zwei andere Wege wären da aber noch möglich gewesen: POST bzw. header() seitens PHP.

    Dass die anderen Browser es nicht zeigen, kann u. U. an deaktiviertem Cache (habe ich hier bspw. standarisiert ebenfalls, um den ganzen Rotz zu minimieren, den man so erhält) Deinerseits oder werkseitig liegen. Demnach würde ich nicht "Bug" sagen, sondern eher: IE hat's richtig gemacht und Dein Coding 1:1 umgesetzt (so wie jetzt auch mit "cache:false").

    Grüße.

  3. #3
    Moderator Avatar von mikdoe
    Registriert seit
    18.01.2009
    Beiträge
    2.188

    Standard

    ZitatZitat von SteelWheel Beitrag anzeigen
    sondern eher: IE hat's richtig gemacht und Dein Coding 1:1 umgesetzt
    Ja, wie so häufig. Aber die Leute urteilen nicht nur hier häufig in Unkenntnis der Sachlage den IE vorschnell ab. Ihr könnt mir sicher glauben, dass alle anderen Browser mindestens genau so viele Bugs haben wie der IE, da lassen sich zig Beispiele finden!
    ich liebe JS und Ajax wenn es crossbrowsertauglich ist

Ähnliche Themen

  1. Warum funktioniert das XMLHTTPRequest nicht?
    Von Dudo im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 16.07.2010, 17:45
  2. Warum dieser Themenbereich?
    Von Frankie im Forum Für Projektleiter / Entscheider
    Antworten: 0
    Letzter Beitrag: 09.03.2010, 01:27
  3. loading-indicators... warum klappt das nicht?
    Von mk-gfx im Forum Allgemein
    Antworten: 10
    Letzter Beitrag: 05.03.2009, 10:48
  4. Warum will der Firefox das nicht?!?!
    Von DirkHo im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 23.07.2007, 14:45

Lesezeichen

Lesezeichen
  • An Mister Wong übertragenMister Wong
  • An YiGG.de übertragenYiGG.de
  • An Google übertragenGoogle
  • An del.icio.us übertragendel.icio.us

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •