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:
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!
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.
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.
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.
Tags und Links jquery validation