Projekt, nad którym pracuję, wymaga użycia jQuery na stronach internetowych klientów. Klienci wstawią fragment kodu, który dostarczymy, zawierający kilka elementów <script>
, które budują widżet w <script>
-utworzonym . Jeśli nie używają najnowszej wersji jQuery, będzie to również (najprawdopodobniej) wersja <script>
dla hostowanej wersji jQuery Google.Czy mogę korzystać z wielu wersji jQuery na tej samej stronie?
Problem polega na tym, że niektórzy klienci mogą mieć już starszą wersję jQuery. Chociaż może to działać, jeśli jest to przynajmniej dość aktualna wersja, nasz kod opiera się na niedawno wprowadzonej funkcjonalności w bibliotece jQuery, więc istnieją przypadki, gdy wersja jQuery klienta jest zbyt stara. Nie możemy wymagać aktualizacji do najnowszej wersji jQuery.
Czy istnieje sposób na załadowanie nowszej wersji jQuery do użycia tylko w kontekście naszego kodu, który nie będzie zakłócać ani wpływać na jakikolwiek kod na stronie klienta? Idealnie, może moglibyśmy sprawdzić obecność jQuery, wykryć wersję, a jeśli jest za stara, to jakoś załadować najnowszą wersję, aby użyć jej do naszego kodu.
Wpadłem na pomysł załadowania jQuery do domeny w domenie klienta, która obejmuje również naszą <script>
, co wydaje się być wykonalne, ale mam nadzieję, że jest bardziej elegancki sposób na to (nie wspominając bez kary za wydajność i złożoność dodatkowych s.).
[Poniżej znajduje się szczegółowy post na noConflict() i korzystanie z wielu bibliotek jQuery] (http://conceptf1.blogspot.com/2013/12/conflict-in-multiple-jquery-files-on-same-page.html) –
Wpadłem na ten sam problem. Ponieważ w moim osadzonym skrypcie użyłem jQuery tylko kilka razy, postanowiłem całkowicie zrezygnować z jQuery i po prostu zrobić to, czego potrzebowałem bezpośrednio w JavaScript. Ta strona: http://youmightnotneedjquery.com/ była niezwykle przydatna. – Ferruccio