Sehr merkwürdiges Problem

rollerueckwaerts

Erfahrenes Mitglied
Hallo Leute,

ich möchte eine div mit js und der innerhtml Eigenschaft füllen.
Klappt soweit perfekt:

Code:
function handleResponseShowMp3PlayerEditTour() {
  alert(req.readyState + req.responseText);

  if(req.readyState == 4){
  
  document.getElementById('content').innerHTML = req.responseText; 
   $.getScript('scripts/jquery.jplayer.min.js');
   $.getScript('scripts/jquery.jplayer.inspector.js');
   $.getScript('content/contentscripts/mp3PlayerEditTour.js');

   }	
  }

Das Phänomen:
entferne ich die AlertAnweisung passiert das ganze nicht mehr. Weiß jemand vielleicht woran das liegen könnte ? Firebug zeigt keine Fehler.

Grüße und vielen Dank schon jetzt !!
 
Ist schwer zu sagen, ohne weitere Details zu sehen.

Ansich macht dies keinen Sinn, denn der alert verzögert nur die Ausführung sämtlicher folgender(synchroner) Anweisungen.


Die Vermutung liegt daher nahe, daß das Problem eine asynchrone Aktion ist(ein laufender AJAX-Request), welcher in der Zwischenzeit req verändert.

Gibt es einen Grund dafür, daß du wie es scheint, für den AJAX-request nicht $.ajax verwendest?

Auf jeden Fall ist in der Logik dort noch 1 Problem:
$.getScript nutzt auch AJAX, daher hast du dort keine Garantie auf die Reihenfolge der Antwort.

Du solltest daher, falls die 3 Skripte genau in dieser Reihenfolge geladen werden müssen(was ich mal annehme), erst das eine Laden, und dann im Erfolgsfall das nächste usw.

Andernfalls kann es passieren, dass bspw. jquery.jplayer.inspector.js vor jquery.jplayer.js geladen wird, was zu Fehlern führt, wenn jquery.jplayer.inspector.js vorraussetzt, dass jquery.jplayer.js bereits geladen ist.
 

Neue Beiträge

Zurück