Што је ново у јКуери 3 - 10 Цоолест Феатурес
јКуери 3.0, ново велико издање јКуери-а је коначно објављено. Заједница веб девелопера је чекала овај важан корак од октобра 2014, када је јКуери тим почео да ради на новој главној верзији до сада, јуна 2016, када финал релеасе ис оут.
Обавештење о издању обећава: а виткији и бржи јКуери, са компатибилност уназад на уму. У овом посту, имамо поглед на неке од нових функција јКуери 3.0 да би вам дали преглед о томе како мења ЈаваСцрипт пејзаж.
Одакле да почнем
Ако желите да преузмете јКуери 3.0 да бисте сами експериментисали, идите десно до странице за преузимање. Такође је вредно погледати Водич за надоградњу или изворни код.
Ако желите да тестирате како ваш постојећи пројекат ради са јКуери 3.0, можете покушати са јКуери Миграте плугин који идентификује проблеме са компатибилношћу у вашем коду. Такође можете завирити у будуће прекретнице.
Овај чланак не покрива све нове карактеристике јКуери 3.0, само оне интересантније: бољи квалитет кода, интеграција нових ЕЦМАСцрипт 6 функција, нови АПИ за анимације, нови метод за избегавање низова, повећана подршка за СВГ, побољшане асинц позиве, боља компатибилност са одговорним сајтовима и повећану сигурност.
1. Олд ИЕ Воркароундс Гот Ремовед
Један од главних циљева новог великог издања био је да то направи брже и слеекер, дакле старе хакове и заобилазнице везане за ИЕ9- је уклоњен. То значи да ако желите или требате подржати ИЕ6-8, морат ћете наставити користити најновије 1.12
ослобађање, чак и 2.к
серија нема пуну подршку за старије Интернет Екплорере (ИЕ9-). Погледајте белешке о подршци претраживача у документима.
Имајте на уму да постоје много застарелих функција у јКуери 3. Велики недостатак Водича за надоградњу је да застареле карактеристике - од јуна 2016. - нису груписане, тако да ако сте заинтересовани за њих, морат ћете их потражити помоћу алата за претраживање вашег претраживача ( Цтрл + Ф).
2. јКуери 3.0 ради у строгом режиму
Као што већина претраживача подржава јКуери 3 подржава стриктни режим, нова главна верзија је направљена имајући на уму ову директиву.
Иако је јКуери 3 написан у стриктном режиму, важно је то знати Ваш код није потребан за рад у строгом режиму, тако да не морате да преписујете Ваш постојећи јКуери код ако желите да мигрирате на јКуери 3. Стрицт & нон-стрицт мод ЈаваСцрипт могу сретно коегзистирати.
Постоји један изузетак: неке верзије АСП.НЕТ-а да - због строгог режима - јесу није компатибилан са јКуери 3. Ако сте укључени у АСП.НЕТ, можете погледати детаље у документима.
3. За… од петљи је уведен
јКуери 3 подржава за… изјаву, нову врсту за
петља, уведена у ЕЦМАСцрипт 6. То даје једноставнији начин петља преко итерабилних објеката, као што су поља, мапе и скупови.
У јКуери фор… оф
петља може замијенити прву $ .еацх (…)
Синтакса, и може олакшати прелазак кроз елементе јКуери колекције.
Приметите да је фор… оф
лооп вилл само рад или у окружењу које подржава ЕЦМАСцрипт 6, или ако ви користите ЈаваСцрипт компајлер као што је Бабел.
4. Анимације Има нови АПИ
јКуери 3 користи АПИ захтјеваАниматионФраме () за извођење анимација, израду анимација тећи глатко и брже. Нови АПИ се користи само у претраживачима који га подржавају; за старије прегледаче (тј. ИЕ9) јКуери користи свој претходни АПИ као резервни метод за приказивање анимација.
РекуестАниматионФраме је већ дуже време ван, ако сте заинтересовани за оно што он зна или зашто бисте га користили, ЦСС трикови имају добар пост о томе.
5. Нови метод за излажење низова са посебним значењем
Нови јКуери.есцапеСелецтор ()
метода вам омогућава да избегнете низове или знакове значи нешто друго у ЦСС-у да би могли користите га у јКуери селектору; без избегавања ЈаваСцрипт тумача не може га правилно разумети.
Документи нам помажу да боље разумемо овај метод са следећим примером:
“На пример, ако елемент на страници има ид од “а б ц д е ф” не може се изабрати са $ ("# абц.деф")
јер је селектор анализиран као “елемент са ид 'абц' која такође има класу 'деф'. Међутим, може се изабрати са $ ("#" + $ .есцапеСелецтор ("абц.деф"))
.”
Нисам сигуран колико често се такав случај дешава, али ако налетите на овакав проблем, сада имате једноставан начин да га брзо решите.
6. Методе манипулације класом Подршка за СВГ
Нажалост, јКуери 3 и даље не подржава СВГ, али јКуери методе које манипулишу ЦСС имена класа, као што су .аддЦласс ()
и .хасЦласс ()
, сада се може користити циљане СВГ документе такође. То значи да можете мијењати (додавати, уклањати, мијењати) или пронаћи класе с јКуери у Сцалабле Вецтор Грапхицс, онда стилизовати класе са ЦСС-ом.
7. Одложени објекти су сада компатибилни са ЈС Промисес
ЈаваСцрипт Промисес - објекти који се користе за асинхроно израчунавање - су стандардизовани у ЕЦМАСцрипт 6; њихово понашање и карактеристике су наведене у стандардима Промисес / А +.
У јКуери 3, Одложени објекти
су усаглашени са новим стандардима Промисес / А +. Деферредс аре цхаинабле објецтс које омогућују креирање реда за повратне позиве.
Нова функција се мења како се извршавају асинкроне функције повратног позива; Обећања омогућити програмерима да напишу асинкрони код који је ближи логици синхроном коду.
Погледајте примере кода из Водича за надоградњу или погледајте овај велики Сцотцх.ио водич о основама ЈаваСцрипт обећања.
8. јКуери.вхен () Разликује различите аргументе
Тхе $ .вхен ()
Метод омогућава пут извршавање повратних функција. То је део јКуери-а од верзије 1.5. То је флексибилан метод; такође ради са нула аргумената, и може да прихвати један или више објеката као аргументе.
јКуери 3 мења начин на који аргументи $ .вхен ()
интерпретирају када садрже $ .тхен ()
метода са којима можете проследити додатне повратне позиве као аргументе за $ .вхен ()
метода.
У јКуери 3, ако додате улазни аргумент са онда()
метход то $ .вхен ()
, аргумент ће бити протумачен као "тадашња" компатибилна са обећањем.
То значи да $ .вхен
метода ће бити у могућности прихватите распон улазних података, као што су ЕС6 Промисес и Блуебирд Промисес, што омогућава писање софистициранијих асинкроних повратних позива.
9. Нев Схов / Хиде Логиц
Да би се повећало компатибилност са прилагодљивим дизајном, код који се односи на приказује и скрива елементе је ажуриран у јКуери 3.
Од сада па надаље .прикажи ()
, .сакрити()
, и .искључи()
методе ће се фокусирати на инлине стилес, уместо израчунатих стилова, на овај начин ће боље поштуј измене стилова.
Нови код поштује приказ
вредности стилова када год је то могуће, што значи да ЦСС правила могу динамички се мењају на догађаје као што је преоријентација уређаја и промена величине прозора.
Документи тврде да ће најважнији резултат бити:
Као резултат тога, неповезани елементи су више се не сматра скривеним осим ако имају инлине дисплаи: ноне;
, и стога .искључи()
ће више их не разликују од повезаних елемената од јКуери 3.0. "
Ако желите да боље разумете резултати нове логике схов / хиде, ево интересантне Гитхубове дискусије о томе.
јКуери програмери су такође објавили табелу Гоогле докумената о томе како ће ново понашање функционисати у различитим случајевима употребе.
10. Додатна заштита од КССС напада
јКуери 3 је додан додатни сигурносни слој против напада на више сајтова (КССС) тако што захтева да програмери наведу датаТипе: "сцрипт"
у опцијама $ .ајак ()
анд тхе $ .гет ()
методе.
Другим речима, ако желите да извршите захтеве за скрипте између домена, ви ово мора да се изјави у поставкама ових метода.
Према документима, нови захтев је користан када је "удаљена локација." испоручује садржај који није скрипт али касније одлучи служи скрипту која има злонамерне намере". Промена не утиче на $ .гетСцрипт ()
методом, онако како поставља датаТипе: "сцрипт"
експлицитно.