Остання версія jQuery на CDN Google


103

Я прочитав в офіційному документі Google CDN, що це srcjQuery:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>

Однак прикро змінювати свою srcпосилання на jQuery при кожному оновленні версії.

Я виявив, що якщо я встановив версію, 1то Google поверне останню версію jQuery.

http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
/*! jQuery v1.8.2 jquery.com | jquery.org/license */

Це правильно робити? Чи є офіційна URL-адреса для посилання на останню версію jQuery, розміщену на CDN Google?


перевірте, чи ця публікація старша. Отже, інший - дублікат
Мартін Бортірі

1
Це дублікат stackoverflow.com/questions/441412/… (запитано 14 січня 2009 р.)
Нік Пірпойнт

Відповіді:


182

ОНОВЛЕННЯ 7/3/2014: На сьогоднішній день jquery-latest.jsбільше не оновлюється. З блогу jQuery :

Ми знаємо, що http://code.jquery.com/jquery-latest.js зловживають через статистику CDN, яка показує, що це найпопулярніший файл. Це не було б випадком, якби його розробники використовували лише для створення локальної копії.

Ми вирішили припинити оновлення цього файлу, а також мінімізованої копії, зберігаючи обидва файли у версії 1.11.1 назавжди.

Команда Google CDN приєдналася до нас у намаганнях запобігти ненавмисному злому веб-сторінок і більше не оновлює файл за адресою http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js . Цей файл також буде заблокований у версії 1.11.1.

Наступна, тепер суперечлива відповідь зберігається тут з історичних причин.


Не робіть цього. Серйозно, не варто.

Посилання на основні версії jQuery дійсно працюють, але це погана ідея - цілі нові функції додаються та застарівають із кожним десятковим оновленням. Якщо ви автоматично оновлюєте jQuery, не перевіряючи код, ПОПЕРЕДЖЕНО , ви ризикуєте несподівано зненацька, якщо API для деяких критичних методів змінився.

Ось що вам слід зробити: напишіть свій код, використовуючи останню версію jQuery. Тестуйте його, налагоджуйте, публікуйте, коли він буде готовий до виробництва.

Потім, коли з'явиться нова версія jQuery, запитайте себе: чи потрібна мені ця нова версія в коді? Наприклад, чи є якась критична сумісність браузера, яка раніше не існувала, чи це прискорить мій код у більшості браузерів?

Якщо відповідь "ні", не переймайтесь оновленням коду до останньої версії jQuery. Це може навіть додати НОВІ помилки до вашого коду, які раніше не існували . Жоден відповідальний розробник не автоматично включатиме новий код з іншого сайту, не ретельно перевіряючи його.

Просто немає жодної вагомої причини ВЖЕ завжди використовувати останню версію jQuery. Старі версії все ще доступні на CDN, і якщо вони працюють для ваших цілей, то навіщо турбуватися замінити їх?


Друга, але, можливо, важливіша проблема - кешування. Багато людей посилаються на jQuery на CDN, тому що це роблять багато інших сайтів, і ваші користувачі мають шанси на кешування цієї версії.

Проблема полягає в тому, що кешування працює лише в тому випадку, якщо ви вказали повний номер версії . Якщо ви надасте частковий номер версії, кешування в майбутньому не відбудеться, оскільки, якщо це трапилося, деякі користувачі отримають різні незначні версії jQuery з тієї ж URL-адреси. (Скажіть, що посилання на 1.7 вказує на 1.7.1 в один день і на 1.7.2 на наступний день. Як браузер переконається, що він отримує останню версію сьогодні? Відповідь: немає кешування.)

Насправді ось розбивка на кілька варіантів та їх налаштування терміну дії ...

http://code.jquery.com/jquery-latest.min.js (без кешу)

http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js (1 година)

http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js (1 година)

http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js (1 рік)

Отже, посилаючись на jQuery таким чином, ви фактично усуваєте одну з головних причин використання CDN в першу чергу.


http://code.jquery.com/jquery-latest.min.js не завжди може надавати вам очікувану версію. Станом на цей текст, він посилається на останню версію jQuery 1.x, навіть якщо jQuery 2.x також була випущена. Це тому, що jQuery 1.x сумісний із старими браузерами, включаючи IE 6/7/8, а jQuery 2.x - ні . Якщо ви хочете останню версію jQuery 2.x, тоді (поки що) вам це потрібно чітко вказати.

Дві версії мають однаковий API, тому для сумісних браузерів відсутня різниця у сприйнятті. Однак jQuery 1.x - це завантаження більшого розміру, ніж 2.x.


Дякую за вашу точку зору, але в моєму випадку краще скористатися останньою версією. проте я частково згоден з вашою думкою, але деякі нові версії також виправляють старі помилки. Крім того, остання версія має більшу ймовірність потрапляння в кеш, що є однією з переваг cdn.
Мартін Бортірі

2
хорошим прикладом цього є розвиток будь-якого jquery <1.4, а потім оновлення минулого 1.4. Відбулися зміни в доступі до властивостей і тому, як запити ajax обробляли дані JSON у зворотному дзвінку.
scrappedcola

просто для уточнення .. Я просив про одну сторінку, яка використовує тривіальну частину jquery ... Я розумію, ваш добрий момент, але я просто хочу знати, чи Google пропонує URL-адресу, щоб отримати останню версію.
Мартін Бортірі

4
@scrappedcola - jQuery 1.9 також вніс безліч змін. Протягом багатьох років у мене виникло багато помилок через проблеми сумісності в jQuery. І я абсолютно згоден з порадою Блаземонгера. Ні в якому разі не слід просто вказувати на "останню URL-адресу jQuery". Ви будете в повній мірі командою jQuery, і новий випуск jQuery може легко зламати ваш сайт. Це не тільки могло статися, але, можливо, станеться в якийсь момент.
Стів Вортем

приємно дізнатися, що кешування базується на рівні деталізації версії!
Тадас В.

8

Я не знаю, чи / де він опублікований, але ви можете отримати останню версію, опустивши другорядну та будуючи номери.

Останні 1.8.x:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>

Останні 1.x:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

Однак майте на увазі, що ці посилання мають набагато менший час очікування кешу, ніж повний номер версії, тому ваші користувачі можуть завантажувати їх більше, ніж ви хочете. Для отримання додаткової інформації див . Вирішальне значення .0 у посиланнях CDN Google на jQuery 1.x.0 .


1
Ви також можете отримати останню версію з code.jquery.com/jquery.min.js, вона зазвичай оновлюється за кілька днів до інших cdns
Kevin B

Незважаючи на те, що ви можете підняти останню версію 1.8.x таким чином, ви не можете отримати останній 1.9 або будь-який незначний номер версії після подібних посилань. Крім того, посилання "останнє 1.x" в даний час вказує на 1.11.1, коли останнім фактично є 1.11.3.
Blazemonger

@Blazemonger Це правильно. Це змінилося після того, як я відповів на це. У вас є чудове пояснення у вашому оновлення!
jrummell

8

Якщо ви хочете використовувати jQuery CDN, крім бібліотеки jQuery, що розміщується в Google, ви можете скористатися цією функцією і забезпечити використання останньої версії jQuery:

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>

Це підняло 1.9.1 замість 2.0
Філіп Сенн

3
v2.x не сумісний з v1.x. Будь-який сайт, який вказує на цю URL-адресу, насправді викрутить сайти, якщо він був оновлений до v2
Абдул Мунім


2

Щоб використовувати останню версію jquery, розміщену Google

Люди:

  1. https://developers.google.com/speed/libraries/#jquery

  2. Отримайте фрагмент:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

  1. Введіть його у свій код.
  2. Переконайтесь, що це працює.

Боти:

  1. Зачекайте, як це зробить людина.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.