Ich habe das neue (ish) verzögerte Objekt in jQuery untersucht und bin über diesen Websiteartikel gestolpert hier .
In dem Artikel gibt es einen Code, der entworfen wurde, um Skripte zu cachen, so dass sie nicht mehr als einmal angefordert werden.
%Vor% Wie dies für mich aussah, war eine Möglichkeit sicherzustellen, dass Ihr Skript nur ausgeführt wird, wenn Ihr $.getScript()
erfolgreich war.
Soweit meine Experimente durchgeführt wurden, wird der Fehler-Callback niemals aufgerufen, selbst wenn ich eine falsche URL angegeben habe.
Habe ich etwas offensichtlich übersehen oder ist das Codebeispiel falsch?
Hinweis: Ich hätte diese Frage auf der Website gestellt, aber das Kommentarsystem hat nicht funktioniert. : -S
Ich bin mir ziemlich sicher, dass dieses Skript nicht bei domänenübergreifenden Anfragen funktionieren kann.
$.getScript
funktioniert auf verschiedene Arten für lokale und domänenübergreifende Anfragen. Bei lokalen Anfragen lädt es den Inhalt über AJAX und führt es dann aus. Da dies eine normale AJAX-Operation ist, treten Fehler auf normale Weise auf. Dieser Code funktioniert gut, soweit ich es testen kann.
Bei domänenübergreifenden Anforderungen funktioniert dies jedoch, indem Sie script
-Tags in das Dokument einfügen. error
Handler werden niemals für die script
-Elemente ausgelöst, die eingefügt werden, daher werden Ihre error
-Rückrufe niemals ausgelöst.
Tags und Links jquery jquery-deferred