Projekt, nad którym pracuję, wymaga użycia jQuery na stronach internetowych klientów. Klienci wstawią fragment kodu, który dostarczymy, który zawiera kilka <script>
elementów, które budują widget w <script>
utworzonym <iframe>
. Jeśli nie korzystają już z najnowszej wersji jQuery, obejmie to również (najprawdopodobniej) <script>
wersję jQuery dla Google.
Problem polega na tym, że niektórzy klienci mogą już mieć starszą wersję jQuery. Chociaż może to działać, jeśli jest to co najmniej całkiem nowa wersja, nasz kod opiera się na niektórych niedawno wprowadzonych funkcjach w bibliotece jQuery, więc na pewno będą przypadki, gdy wersja jQuery klienta jest po prostu za stara. Nie możemy wymagać od nich aktualizacji do najnowszej wersji jQuery.
Czy istnieje sposób załadowania nowszej wersji jQuery do użytku wyłącznie w kontekście naszego kodu, który nie będzie zakłócał ani nie wpływał na żaden kod na stronie klienta? Idealnie byłoby, gdybyśmy mogli sprawdzić obecność jQuery, wykryć wersję, a jeśli jest za stara, to w jakiś sposób załaduj najnowszą wersję, aby użyć jej w naszym kodzie.
Wpadłem na pomysł załadowania jQuery w <iframe>
domenie klienta, która obejmuje także naszą <script>
, co wydaje się być wykonalne, ale mam nadzieję, że istnieje bardziej elegancki sposób (nie wspominając o wydajności i złożoności kar dodatkowe <iframe>
s).