Das zweimalige Laden von jquery verursacht einen Fehler?

8

Ich habe eine Seite, auf der jquery + andere js geladen wird:

%Vor%

Ich lade Tabs wie folgt:

%Vor%

Die validationdate.js ist eine mine built js, die Daten und andere Dinge überprüft. Es hat dies als erste Zeile:

%Vor%

Problem: Ist das in der Produktion zum Zeitpunkt ... ist diese Seite fehlerhaft und gibt einen JS-Fehler aus. Dies führt dazu, dass die Registerkarten nicht anklickbar sind. Dieser Fehler tritt zeitweise auf und ich kann es nicht auf meinem Computer reproduzieren. Beide Maschinen verwenden IE. Fehler passiert auch in Firefox, obwohl kleine JS-Fehler in Firefox nicht angezeigt werden. und ich habe sogar einen Firebug, der auch keinen JS-Fehler zeigt.

Ich vermute, dass ein Fehler auftaucht, weil validationdate.js auch jquery-1.3.2.min.js lädt. Kann das ein Fehler sein?

Übrigens, der JS-Fehler, den ich bekomme, ist 'Ausnahme abgefangen, aber nicht geworfen ... Zeile 23' und Zeile 23 folgt

%Vor%

Ich habe wirklich keine Auswahl und bin bereit, Sachen auszuprobieren. und auch Möglichkeiten, auf meiner Maschine zu reproduzieren, damit ich es beheben kann!

    
yuri 28.04.2010, 17:48
quelle

3 Antworten

12

Zuerst, um Ihre Frage zu beantworten, ja , einschließlich jQuery zweimal kann alle Arten von Problemen verursachen.

Um es zu beheben, diese Zeile:

%Vor%

Sollte umgebrochen werden, um zu überprüfen, ob jQuery bereits existiert, statt es blind hinzuzufügen, wie folgt:

%Vor%

Dann wird es nur enthalten, wenn jQuery nicht bereits auf der Seite ist. Es gibt einen Vorbehalt. Wenn Sie eine andere (wahrscheinlich neuere) Version von jQuery verwenden, als der Validierungscode erstellt wurde, besteht die Möglichkeit, dass es einige Unterbrechungen gibt.

    
Nick Craver 28.04.2010 22:47
quelle
1

Ich habe Stunden damit verbracht, herauszufinden, warum jQuery.noConflict () nicht so funktioniert wie es ist ...

Benutze einfach          var j$ = jQuery.noConflict(); und danach j $ anstelle von $ jedes Mal, wenn Sie Jquery auf dieser Seite verwenden.

    
Nitin Pant 14.08.2012 08:08
quelle
0

Wenn Sie einen iframe verwenden, wird JQuery zweimal geladen 1) Laden Sie JQuery für jede Seite (d. H. In Ruby on Rails über application.html.erb) und
2) Der iframe ist auch eine Seite aus Ihrer Anwendung und kein iframe einer externen Website.

    
user1515295 23.07.2012 22:11
quelle

Tags und Links