Movatterモバイル変換


[0]ホーム

URL:


Пређи на садржај
Википедија
Претрага

JQuery

С Википедије, слободне енциклопедије
Овај чланак је започет или проширен кроз пројекатсеминарских радова. Потребно је проверити превод, правопис и вики-синтаксу.
Када завршите са провером, допишетеда након|проверено=.

ЏејКвери (енгл.jQuery) је вишеплатмфорскаЈаваскрипт (енгл.JavaScript) библиотека дизајнирана да поједноставискриптовање са корисничке стране језикаHTML.[1]ЏејКвери је најпопуларнија Јаваскрипт библиотека у употреби данас коју користи 65% од најпосећенијих 10 милиона сајтова на вебу.[2][3][4]ЏејКвери јеслободан и софтвер отвореног изворног кода лиценциран подМИТ лиценцом.

СинтаксаЏејКвери библиотеке је дизајнирана да поједностави навигацију ка документу, селектовање ДОМ елемената, прављење анимација, обрађивање догађаја и развојАјакс (енгл.Ajax) апликација.ЏејКвери такође пружа могућност програмерима да направе додатке преко Јаваскрипт билбиотеке. Ово омогућава програмерима да направе апстракције за интеракцију ниског нивоа и анимацију, напредне ефекте и виџете високог нивоа који могу имати теме. Модуларни приступЏејКвери библиотеци омогућава стварање моћних динамичких веб страна и веб апликација.

Комплет основних могућностиЏејКвери библиотеке — селектовање ДОМ (енгл.DOM) елемента, промена и манипулација омогућена машином за селектовање (названа Сизл (енгл.Sizzle) из верзије 1.3) креирала је нови ”стил програмирања”, повезујући алгоритме и структуре ДОМ података. Овај стил је утицао на архитектуру других Јаваскрипт окружења YUI v3 и Доџо (енгл.Dojo), касније поспешујући креирање старндардног АПИ-ја за селектовање.[5]

Мајкрософт (енгл.Microsoft) и Нокија (енгл.Nokia) су повезалиЏејКвери на своје платформе.[6] Мајкрософт га укључује у Вижуал Студио (енгл.Visual Studio)[7] за употребу у АСП. НЕТ АЈАКС и АСП. НЕТ MVC окружењима које је конструисао Мајкрософт, док га је Нокија интегрисала у веб платформу која показује развој виџета у реалном времену.[8]ЏејКвери је употребљаван у Медиа Викију од верзије 1.16.[9]

Преглед

[уреди |уреди извор]

ЏејКвери је, у својој сржи, ДОМ за контролу над библиотекама. ДОМ је дрволика репрезентација свих елемената веб стране и ЏејКвери поједностављује синтаксу за проналажење, селектовање и манипулацију тих ДОМ елемената. На пример,ЏејКвери се може користити за проналажење елемената у документу са одређеним својствима (нпр. сви елементи са h1 етикетоменгл.tag), мењање једног или више његових својства (нпр. боја, видљивост), или правити га таквог да реагује на догађај (нпр. клик мишем).

ЏејКвери такође нуди парадигму за руковођење догађајима који превазилазе основне ДОМ могућности селекције и манипулације елементом. Дефинисање функција за доделу догађаја и опозивање догађаја раде се у једном кораку и на једном месту у коду.ЏејКвери такође циља ка укључивању других изузетно коришћених Јаваскрипт функционалности (нпр. анимације приликом манипулације над CSS својствима).

Предности при коришћењу Џејкверија:

  • Стимулише раздвајање Јаваскрипте и HTML-а: ЏејКвери библиотека нуди једноставну синтаксу за додавање руководиоца догађајем ДОМ-у при коришћењу Јаваскрипте, што је боље од додавања атрибута HTML догађају за позивање Јаваскрипт функција. Према томе, подржава веб програмере да потпуно раздвоје Јаваскрипт код од HTML ознака.
  • Све је кратко и јасно: ЏејКвери промовише кратак и јасан код са карактеристикама попут мођућег уланчавања функција и кратких и описних имена функција.
  • Елиминише некомпатабилности при писању кода за различите претраживаче: Јаваскрипт погон различитих претраживача се незнатно разликује па Јаваскрипт код који ради на једном претраживачу можда неће радити на неком другом. Попут других Јаваскрипт група алата, ЏејКвери контролише све неконзистентности међу различитим прегледачима и нуди конзистентан интерфејс који ради на свим прегледачима.
  • Лако се надограђује: Нови догађаји, елементи и методе могу се једноставно додати и потом поново искористити у облику додатака.

Особине

[уреди |уреди извор]

ЏејКвери укљућује следеће особине:

  • Селектовање ДОМ елемената коришћењем више-претраживаћком библиотеком отвореног кода селекторске машине, као нуспроизводЏејКвери пројекта[10]
  • Манипулација ДОМ елементима на основу CSS селектора који користе имена и особине елемената ако што суid иclass, као критеријуми за селекцију елемената у ДОМ
  • Догађаји
  • Ефекти и анимације
  • Ajaks
  • Одложени и Обећани објекти за контролу несинхроне обраде
  • Парсиранје JSON-а
  • Прошириванје промоћу додатака
  • Алати, као што је детектовање особина
  • Методе за детектовање сагласности које су изворно доступне у модерним претраживачима, али постоји потреба за "fall backs"-ом за старије, каоinArray() иeach()
  • Више претраживачка (не треба их помешати са крос претраживачима) помоћ

Подршка за прегледачима

[уреди |уреди извор]

Верзија 1.х као и верзија 2.хЏејКвери библиотеке подржавају тренутне 1 верзије (што значи тенутну стабилну верзију прегледачима и верзије које су јој претходиле) Фајерфокса (енгл.Firefox), Хрома (енгл.Chrome), Сафарија (енгл.Safari) и Опере (енгл.Opera). Верзија 1.х такође подржава Интернет Експлорер 6 (енгл.Internet Explorer 6) или новије верзије. Међутим верзија 2.хЏејКвери библиотеке не подржава Интернет експлорер верзије 6 до 8 (који представљају само 2% укупне употребе веб прегледачима)[11] и подржава само верзију 9 и новије верзије.[12]

Коришћење

[уреди |уреди извор]

Укључење библиотеке

[уреди |уреди извор]

ЏејКвери библиотека је Јаваскрипт документ који садржи догађаје, ефекте и Ајакс функције. Може се укључити у веб страницу линковањем на локалну копију или на једну од многих копија које су доступне на серверима.


Повезивање са локалном копијом:

<scriptsrc="jquery.js"></script>

Повезивање са копијом на серверу:

<scriptsrc="https://code.jquery.com/jquery-latest.min.js"></script>

Стилови коришћења

[уреди |уреди извор]

ЏејКвери има два стила коришћења:

  • Помоћу$ функције, која јефабрички методЏејКвери објеката. Ове функције је могуће уланчавати, пошто све враћају ЏејКвери објекат.
  • Помоћу$.-префиксних функција. Оне се не односе директно на ЏејКвери објекте.

Приступ и манипулација вишеDOM чворова у ЏејКверију типично почиње позивом$ функције чији је аргумент CSS селектор (као ниска). Она враћа ЏејКвери објекат који реферише на све одговарајућеHTML елемента странице.$("div.test"), на пример, враћаЏејКвери објекат са свимdiv елементима класеtest. Овај скуп чворова може бити манипулисан позивајући методе на ЏејКвери објекат или на саме чворове.

Мод без преклапања

[уреди |уреди извор]

ЏејКвери такође садржи.noConflict() мод, који се ослобађа$. Ово може бити корисно, ако сеЏејКвери користи са другим бибилиотекама које такође користе$ као идентификатор. У овом моду програмери могу користити идентификаторjQuery као замену за$ без губљења функционалности.[13]

Типичан скелет

[уреди |уреди извор]

Типично коришћењеЏејКвери библиотеке је креирање догађаја помоћу методе.ready(). Ова метода ће бити покренута када претраживач конструишеDOM стабло и пошаље "load" догађај.

<scripttype="text/javascript">$(document).ready(function(){// jQuery код, хватање догађаја овде});</script>

"Callback" функције су такође садржане у.ready() каоанонимне функције, али се позивају када је покренут догађај за "callback" На пример, следећи код додаје догађај за клик мишем наimg елемент.

$(document).ready(function(){$('img').click(function(){// obrađuje klik događaj na bilo koji img element na stranici});});

Следеће синтаксе су еквивалентне:

  • $(document).ready(handler)
  • $(handler)

Уланчавање

[уреди |уреди извор]

СвакаЏејКвери команда враћаЏејКвери објекат, тако да се оне могу уланчавати.

$("div.test").add("p.naslov").addClass("plavi").slideDown("slow");

Овај низ поља представља унију свихdiv тагова са класним атрибутомtest и све таговеp са класним атрибутомnaslov, додаје класни атрибутplavi на сваки одговарајући елемент, и анимира њихово појављивање на екран.

Креирање новихДОМ елемената

[уреди |уреди извор]

Осим приступа постојећимДОМ чворовима, помоћуЏејКверија је могуће и креирање новихДОМ елемената, ако ниска прослеђена као аргумент$() изгледа каоHTML. На пример, следећи код проналазиHTML елементselect са ID-емmarke и додаје елементoption са вредношћу "VAG" и текстом "Volkswagen":

$('select#marke').append($('<option />').attr({value:"VAG"}).append("Volkswagen"));

Утилитарне функције

[уреди |уреди извор]

Функције које имају префикс$. су утилитарне функције или функције које утичу на глобална својства и понашања. На пример, следећи код представља функцију која пролази кроз низtest:

$.test([1,2,3],function(){console.log(this+1);});

Функција исписује "2", "3", "4" на конзолу.

Ајакс

[уреди |уреди извор]

Могуће је обавити упите независно од прегледача и потом учитати и манипулисати са удаљеним подацима.

$.ajax({type:"POST",url:"test.php",data:"name=Pera&location=Beograd"}).done(function(msg){alert("Podaci su sačuvani: "+msg);}).fail(function(xmlHttpRequest,statusText,errorThrown){alert("Vaš zahtev nije uspešno izvršen.\n\n"+"XML Http Zahtev: "+JSON.stringify(xmlHttpRequest)+",\nStatus: "+statusText+",\nGreška: "+errorThrown);});

Овај пример шаље податкеname=Pera иlocation=Beograd странициtest.php. Када се захтев успешно заврши, кориснику се појављује прозор са одговарајућом поруком (alert). У супротном, кориснику ће бити прослеђени порука да је дошло до грешке, као и статус захтева и тачна грешка.

Додаци за ЏејКвери

[уреди |уреди извор]

АрхитектураЏејКверија дозвољава девелоперима да праве код додатака како би проширили његову функционалност. Постоји на хиљадеЏејКвери додатака који су доступни на Вебу и покривају широк спектар функција, попут помагача заАјакс, Веб сервиса, бази података, динамичких листи, XML и XSLT алата, догађаја, контрола колачића и модалних прозора.[14]

Важан изворЏејКвери додатака је поддомен додатака сајтаЏејКвери пројекта.[14] Додаци овог домена су случајно избрисани у децембру 2011. године у покушају да се сајт очисти од нежељеног садржаја..[15] Нови сајт ће садржати ГитХуб-хостовано (енгл.GitHub) складиште које ће од девелопера захтевати да поново додају своје додатке и да подлегну новим захтевима за додавање садржаја.[16] Постоје алтернативни погони за претрагу додатака[17][18] попутjquer.in који користе специјализован приступ, попут излиставања само додатака који испуњавају одређене критеријуме (нпр. Они који имају јавно складиште кодова). ЏејКвери нуди "Центар за обуку" који може помоћи корисницима да разумеју Јаваскрипт и почну да развијају ЏејКвери додатке.[19]

Историја

[уреди |уреди извор]

ЏејКвери је оригинално објављен у Јануару 2006 у "Баркампу" (енгл.BarCamp) у Њујорку од стране Џон Ресига и био је под ранијим утицајем цссквери библиотеке Дина Едвардса.[20] Тренутно је одржавана од стране програмера који су предвођени Тимијем Вилсоном (са ЏејКвери машином за селектовање, Сизл, који води Ричард Гибсон )

ЏејКвери је имао интересантну историју лиценци.[21] Оригинално под CC BY-SA 2.5, био је релиценциран на МИТ лиценцу у 2006.[22] На крају 2006-те имао је двојно лиценциран под ГПЛ и МИТ лиценцом..[23] Како је ово доводило до забуне, у 2012 ФПЛ лиецнца је одбачена и данас је само под МИТ лиценцом.[24]

Од 2015.ЏејКвери остаје најшире коришћена Јаваскрипт библиотека на Веб-у Према сервису за аналитику Јаваскрипт библиотека, Либскор (енгл.Libscore),ЏејКвери се користи на преко 65% он првих милион најпопуларнијих сајтова према величини оствареног саобраћаја.[4] Познати сајтови који га користе укључују Твитер (енгл.Twitter), ЛинкедИн (енгл.LinkedIn), Пинтрест (енгл.Pinterest), и иБеј (енгл.eBay).[25]

Историја објављивања

[уреди |уреди извор]
Број верзијеДатум објављивањаПоследња верзијаВеличина продукта (KB)Додатне напомене
1.026. август 2006. (2006-08-26)Прва стабилна верзија
1.114. јануар 2007. (2007-01-14)
1.210. септембар 2007. (2007-09-10)
1.314. јануар 2009. (2009-01-14)55.9Селекторска машина Sizzle додата у језгро
1.414. јануар 2010. (2010-01-14)
1.531. јануар 2011. (2011-01-31)Управљање одложеним повратним позивима, предефинисан модул АЈАКС
1.63. мај 2011. (2011-05-03)Значајно побољшање перформанси attr() и val() функција
1.73. новембар 2011. (2011-11-03)Нови догађаји.on() и .off(), стари остају подржани.
1.89. август 2012. (2012-08-09)91.4Селекторска машина Sizzle преправљена, унапређене анимације и $(html, props) флексибилност.
1.915. јануар 2013. (2013-01-15)1.9.1[26]Уклањање застарелог интерфејса и чишћење кода
1.1024. мај 2013. (2013-05-24)1.10.2 (3. јул 2013. (2013-07-03))Припојене исправке грешака и разлике пријављених из 1,9 и 2,0 бета циклуса
1.1124. јануар 2014. (2014-01-24)1.11.3 (28. април 2015. (2015-04-28))95.9
1.128. јануар 2016. (2016-01-08)1.12.3 (5. април 2016. (2016-04-05))95
2.018. април 2013. (2013-04-18)2.0.3 (3. јул 2013. (2013-07-03))81.1Престанак подржавања IE 6–8 за побољшање перформанси и смањивање величине датотека
2.124. јануар 2014. (2014-01-24)2.1.4 (28. април 2015. (2015-04-28))82.4
2.28. јануар 2016. (2016-01-08)2.2.4 (20. мај 2016. (2016-05-20))85.6


Оквир за тестирање

[уреди |уреди извор]

КјуЈунит (енгл.QUnit) је фрејмворк за аутоматизовано тестирање коришћен унутар ЏејКвери пројекта. ЏејКвери тим га је развио као библиоткеку за интегрисано тестирање јединица и користи се за тестирање кодова и додатака, али може тестирати генерички Јаваскрипт код, укључујучи код Јаваскрипта на серверској страни.[27]

Од 2011. године, ЏејКвери тим за тестирање користи КјуЈунит са ТестСварм (енгл.TestSwarm) оквиром да тестира сваку нову верзију ЏејКвери кода.[28]


Види још

[уреди |уреди извор]

Референце

[уреди |уреди извор]
  1. ^„jQuery: The write less, do more, JavaScript library”. The jQuery Project. Приступљено29. 4. 2010. 
  2. ^„Usage of JavaScript libraries for websites”. Приступљено14. 7. 2015. 
  3. ^„jQuery Usage Statistics”. Архивирано изоригинала 25. 12. 2018. г. Приступљено17. 5. 2013. 
  4. ^абhttp://libscore.com/#libs
  5. ^"Selectors API Level 1, W3C Recommendation" (21 February 2013). This standard turned what wasjQuery "helper methods" into JavaScript-native ones, and the wide use of jQuery stimulated thefast adoption ofquerySelector/querySelectorAll into main Web browsers.
  6. ^Resig, John (28. 9. 2008).„jQuery, Microsoft, and Nokia”.jQuery Blog. jQuery. Приступљено29. 1. 2009. 
  7. ^Guthrie, Scott (28. 9. 2008).„jQuery and Microsoft”.ScottGu's Blog. Архивирано изоригинала 25. 12. 2018. г. Приступљено29. 1. 2009. 
  8. ^„Guarana UI: A jQuery Based UI Library for Nokia WRT”.Forum Nokia. Архивирано изоригинала 23. 11. 2009. г. Приступљено30. 3. 2010. 
  9. ^„jQuery”. MediaWiki. 19. 1. 2012. Приступљено11. 3. 2012. 
  10. ^Resig, John (14. 1. 2009).„jQuery 1.3 and the jQuery Foundation”.jQuery Blog. Приступљено4. 5. 2009. 
  11. ^CanIUse Browser Usage Table
  12. ^Browser Support | jQuery
  13. ^„jQuery.noConflict() jQuery API Documentation”. 
  14. ^аб„Plugins”. The jQuery Project. Приступљено26. 8. 2010. 
  15. ^„What Is Happening To The jQuery Plugins Site?”. Приступљено22. 4. 2015. 
  16. ^„jquery/plugins.jquery.com”.GitHub. Приступљено22. 4. 2015. 
  17. ^„jQuery Plugins Search”. Архивирано изоригинала 15. 05. 2013. г. Приступљено13. 9. 2012. 
  18. ^Kanakiya, Jay.„jquery plugins”. 
  19. ^„jQuery Learning Center”. jQuery Foundation. Приступљено2. 7. 2014. 
  20. ^York 2009, стр. 28.
  21. ^jquery historyАрхивирано на веб-сајтуWayback Machine (25. новембар 2016) on softwarefreedom.org
  22. ^jquery-under-the-mit-license on jquery.org (2006)
  23. ^license on jquery.org (archived 2010)
  24. ^jquery-licensing-changes on jquery.org (2012)
  25. ^http://libscore.com/#jQuery
  26. ^„jQuery 1.9.1 Released”. Приступљено22. 4. 2015. 
  27. ^„History”.qunitjs.com. Приступљено2. 7. 2014. 
  28. ^jQuery Testing Team Wiki

Литература

[уреди |уреди извор]

Додатна литература

[уреди |уреди извор]

Спољашње везе

[уреди |уреди извор]
C++
CLI
ColdFusion
Common Lisp
Haskell
Java
JavaScript
Perl
PHP
Python
Ruby
Scala
Smalltalk
Други језици
Нормативна контрола: ДржавнеУреди на Википодацима
JQuery насродним пројектима Википедије:
Медији на Остави
Подаци на Википодацима
Преузето из „https://sr.wikipedia.org/w/index.php?title=JQuery&oldid=30333756
Категорије:
Сакривене категорије:

[8]ページ先頭

©2009-2026 Movatter.jp