Ich schreibe ein kleines JavaScript-Tool für mich, das ich anderen Leuten zur Verfügung stellen möchte und es benutzt jQuery. Mein Traum für dieses kleine Hilfsprogramm ist, dass Leute eine einzige .js
-Datei von einer entfernten Quelle einbinden können und wenn diese Datei geladen ist, muss sie prüfen, ob jQuery bereits enthalten ist und, falls ja, make Sicher, es ist eine kürzlich genug Version, um mit dem, was mein Code tun muss, kompatibel zu sein. Irgendein Pseudocode, der mein Problem klarer erklären könnte (dieser Code würde am Anfang der einzelnen .js
-Datei erscheinen, die ich bereits erwähnt habe):
Meine Frage, in drei freundliche Teile destilliert:
Die übergeordnete Idee hier ist, dass jeder alte Benutzer ein kleines HTML-Snippet schnappen und es in seine Site / Blog / was auch immer bringen könnte und es Just Work ™ haben. Und da viele moderne Publishing-Plattformen jetzt mit jQuery ausgeliefert werden, kann ich nicht einfach ruhig davon ausgehen, dass es nicht läuft und es einschließt.
Vielen Dank für Ihre Zeit, und lassen Sie mich bitte wissen, wenn irgendein Teil davon nicht klar ist oder wenn ich zusätzlichen Kontext / Details zur Verfügung stellen kann, um Ihre Antwort einfacher zu machen.
Ich weiß nicht viel über das noConflict, also kann ich meistens nur 2 antworten.
Dies wird normalerweise als Lazy Loading bezeichnet. Siehe meine Antwort zu einer ähnlichen Frage, um dies zu tun
Ich habe nicht versucht, zu sehen, wie es sich verhält, wenn eine niedrigere Version bereits geladen ist, aber Sie können google.load
ausprobierenUm absolute Sicherheit zu gewährleisten, sollten Sie einen Namespace für die Version von jQuery in Betracht ziehen, die Sie verwenden. Es ist ein bisschen hässlich, aber ein Regex gegen die Codebasis, um Ihren eigenen globalen Anschlusspunkt zu definieren, stellt sicher, dass Sie nichts kaputt machen. Wenn der Code auf einer Vielzahl von Websites weit verbreitet ist, ist dies die beste Option und gewährleistet die zukünftige Kompatibilität.
Tags und Links javascript jquery compatibility