So ermitteln Sie, ob jQuery auf einer Seite ausgeführt wird (auch wenn jQuery / after / das Erkennungsskript ist)

8

Ich arbeite an einem Do-Dad, der in eine Seite wie ein Youtube-Video eingebettet werden kann. Der bestimmte Effekt, den ich will, benötigt jQuery.

Ich möchte jQuery unter der Bedingung laden, dass etwas auf der Seite nicht bereits jQuery hinzugefügt hat.

Ich habe getestet

%Vor%

aber das funktioniert nur, wenn jQuery geladen ist & amp; läuft bis die Seite zu meinem Skript gelangt. Da Best Practices in diesen Tagen darin bestehen, dass Sie Ihre Skripte in die Fußzeile einbetten, wird mein Einbettungscode die meiste Zeit sowieso nie jQuery sehen.

Ich dachte daran, den Test onready anstelle von onload zu machen, aber die Funktion onready ist innerhalb von jQuery. (Ich könnte ein eigenständiges Skript verwenden? Gibt es ein gutes Skript?)

Schließlich teste ich jQuery nach einer Zeitüberschreitung, aber das scheint im besten Fall unelegant und schlimmstenfalls unzuverlässig.

Irgendwelche Gedanken?

    
Trass Vasston 03.03.2011, 22:31
quelle

3 Antworten

8

Angesichts Ihrer Einschränkungen sehe ich nur zwei Optionen:

  1. Verwenden Sie window.load event:

    %Vor%

    window.load passiert sehr spät im Ladezyklus, nachdem alle Bilder geladen sind.

  2. Verwenden Sie eine Zeitüberschreitung. Die gute Nachricht ist, dass die Zeitüberschreitung wahrscheinlich sehr kurz sein kann.

    %Vor%

    Sie müssen abstimmen, um die besten Werte für den Zähler und das Intervall zu bestimmen. Aber wenn jQuery nicht einmal in der ersten oder zweiten Schleife geladen wird, ist meine Schätzung (ungetestet), dass es nicht geladen wird ... es sei denn, jemand anderes macht das, was Sie tun. : -)

T.J. Crowder 03.03.2011, 22:38
quelle
2

Sie können window.onload verwenden. Dies wird nach domReady ausgelöst, also würde jQuery sicher von diesem Punkt geladen werden.

Und prüfen Sie auf jQuery , nicht $ . Manchmal benutzen Leute jQuery mit anderen Bibliotheken und benutzen $ für etwas anderes.

Allerdings, IMHO, ich glaube nicht, dass es eine große Sache ist, wenn jQuery zweimal geladen wird.

    
gilly3 03.03.2011 22:41
quelle
1

Ich habe diesen Code schon seit einer ganzen Weile benutzt, um genau das zu tun. Es prüft auch eine Mindestversion von jQuery (in unserem Fall verwenden wir immer noch 1.4.2) vor dem Laden:

%Vor%     
Lelando 03.03.2011 23:02
quelle

Tags und Links