it-swarm.com.de

Synchrones XMLHttpRequest im Hauptthread ist veraltet

Warum wird diese Meldung plötzlich in der Firefox-Konsole angezeigt?

Ich verwende JQuery 1.7.1.

Was kann ich in meiner App tun, damit diese Meldung angezeigt wird?

37
1DMF

Wenn Sie jQuery verwenden, um ein Skript-Tag an das Dokument anzuhängen, wird das Skript mit async: false geladen und diese Warnung ausgelöst.

Wie in:

var script = $("<script></script>");
script.attr("src", player.basepath + "whatever.js");
$(document.body).append(script);
39
Jason Kester

Sie haben Code, der synchrones XHR/Ajax ausführt, d. H. Ajax fordert diesen Block an, bis sie abgeschlossen sind.

Wenn Sie jQuery verwenden, geben Sie dazu async: false Im Einstellungsobjekt von jQuery.ajax() an.

Die Lösung besteht darin, einen Code zu überarbeiten, der synchrone Anforderungen ausführt, dh alle Instanzen von jQuery.ajax({async: false}) und Hilfsfunktionen sowie xhr.open(..., false) zu beenden und Code in Bibliotheken von Drittanbietern aufzunehmen, die Sie möglicherweise verwenden . Da jQuery 1.7.1 von den Standards des Webs her ziemlich alt ist, bin ich mir nicht sicher, ob diese jQuery-Version in bestimmten Fällen noch interne Synchronisierungsanforderungen ausführt. Sie müssen dies ebenfalls überprüfen und jQuery aktualisieren, falls dies der Fall ist.

15
nmaier