{"id":38523,"date":"2019-10-31T22:24:17","date_gmt":"2019-10-31T19:24:17","guid":{"rendered":"https:\/\/prohoster.info\/blog\/istoriya-i-nasledie-jquery\/"},"modified":"2019-10-31T22:24:17","modified_gmt":"2019-10-31T19:24:17","slug":"istoriya-i-nasledie-jquery","status":"publish","type":"post","link":"https:\/\/prohoster.info\/no\/blog\/news\/istoriya-i-nasledie-jquery","title":{"rendered":"The history and legacy of jQuery","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"The history and legacy of jQuery\" src=\"\/wp-content\/uploads\/2019\/10\/beb7b33761181e6b478031cf1b85e6c6.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\njQuery \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/trends.builtwith.com\/javascript\/jQuery\">det mest popul\u00e6re<\/a><\/noindex> JavaScript-biblioteket i verden. Felleskapet av webutviklere skapte det p\u00e5 slutten av 2000-tallet, noe som f\u00f8rte til en rik \u00f8kosystem av nettsteder, plugins og rammeverk som bruker jQuery under panseret.<\/p>\n<p>Men i de siste \u00e5rene har dets status som hovedverkt\u00f8y for webutvikling blitt svekket. La oss se p\u00e5 hvorfor jQuery ble popul\u00e6rt og hvorfor det er ute av moten, samt i hvilke tilfeller det fortsatt er fornuftig \u00e5 bruke det for \u00e5 lage moderne nettsteder.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Kort historie om jQuery<\/h2>\n<p>\nJohn Resig (<noindex><a rel=\"nofollow\" href=\"https:\/\/johnresig.com\/\">John Resig<\/a><\/noindex>) laget den f\u00f8rste versjonen av biblioteket i 2005, og <noindex><a rel=\"nofollow\" href=\"https:\/\/johnresig.com\/blog\/barcampnyc-wrap-up\/\">publiserte det i 2006<\/a><\/noindex>-m p\u00e5 et arrangement kalt BarCampNYC. P\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/web.archive.org\/web\/20060203025710\/http:\/\/jquery.com\/\">den offisielle jQuery-nettsiden<\/a><\/noindex> skrev forfatteren:<\/p>\n<blockquote><p>jQuery er et JavaScript-bibliotek, basert p\u00e5 det enkle prinsippet: Det skal v\u00e6re g\u00f8y \u00e5 programmere med JavaScript. jQuery tar vanlige, repeterende oppgaver, fjerner un\u00f8dvendig oppmerking og gj\u00f8r dem korte, elegante og forst\u00e5elige.<\/p><\/blockquote>\n<p>\njQuery har to hovedfordeler. Den f\u00f8rste er et brukervennlig API for manipulasjon av nettsider. Spesielt gir det kraftige metoder for \u00e5 velge elementer. Du kan velge ikke bare etter ID eller klasser, jQuery lar deg skrive komplekse uttrykk, for eksempel for \u00e5 velge elementer basert p\u00e5 deres relasjoner med andre elementer:<\/p>\n<pre><code class=\"javascript\">\/\/ Select every item within the list of people within the contacts element\n$('#contacts ul.people li');<\/code><\/pre>\n<p>\nOver tid ble valgmekanismen til en egen bibliotek <noindex><a rel=\"nofollow\" href=\"https:\/\/sizzlejs.com\/\">Sizzle<\/a><\/noindex>.<\/p>\n<p>Den andre fordelen med biblioteket var at det abla forskjellene mellom nettlesere. P\u00e5 den tiden var det vanskelig \u00e5 skrive kode som ville fungere p\u00e5litelig i alle nettlesere. <\/p>\n<p>Mangelen p\u00e5 standardisering betydde at utviklere m\u00e5tte ta hensyn til de mange forskjellene mellom nettlesere og grense tilfeller. Ta en titt p\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/daniellmb\/jquery-archive\/blob\/master\/jquery.2006-07-01.js\">denne tidlige jQuery-kildekoden<\/a><\/noindex> og se etter jQuery.browser. Her er et av eksemplene:<\/p>\n<pre><code class=\"javascript\">\/\/ If Mozilla is used\nif ( jQuery.browser == \"mozilla\" || jQuery.browser == \"opera\" ) {\n        \/\/ Use the handy event callback\n        jQuery.event.add( document, \"DOMContentLoaded\", jQuery.ready );\n\n\/\/ If IE is used, use the excellent hack by Matthias Miller\n\/\/ http:\/\/www.outofhanwell.com\/blog\/index.php?title=the_window_onload_problem_revisited\n} else if ( jQuery.browser == \"msie\" ) {\n\n        \/\/ Only works if you document.write() it\n        document.write(\"&lt;scr\" + \"ipt id=__ie_init defer=true \" + \n                \"src=javascript:void(0)&gt;&lt;\/script&gt;\");\n\n        \/\/ Use the defer script hack\n        var script = document.getElementById(\"__ie_init\");\n        script.onreadystatechange = function() {\n                if ( this.readyState == \"complete\" )\n                        jQuery.ready();\n        };\n\n        \/\/ Clear from memory\n        script = null;\n\n\/\/ If Safari  is used\n} else if ( jQuery.browser == \"safari\" ) {\n        \/\/ Continually check to see if the document.readyState is valid\n        jQuery.safariTimer = setInterval(function(){\n                \/\/ loaded and complete are both valid states\n                if ( document.readyState == \"loaded\" || \n                        document.readyState == \"complete\" ) {\n\n                        \/\/ If either one are found, remove the timer\n                        clearInterval( jQuery.safariTimer );\n                        jQuery.safariTimer = null;\n\n                        \/\/ and execute any waiting functions\n                        jQuery.ready();\n                }\n        }, 10);\n}<\/code><\/pre>\n<p>\nOg takket v\u00e6re jQuery kunne utviklerne legge ansvaret for alle disse fallgruvene p\u00e5 skuldrene til teamet som utviklet biblioteket.<\/p>\n<p>Senere gjorde jQuery implementering av mer komplekse teknologier, som animasjoner og Ajax, enklere. Biblioteket ble faktiske standardavhengighet for nettsteder. Og i dag driver det en stor del av internett. W3Techs ansl\u00e5r at <noindex><a rel=\"nofollow\" href=\"https:\/\/w3techs.com\/technologies\/details\/js-jquery\/all\/all\">74 % av nettstedene bruker i dag jQuery<\/a><\/noindex>.<\/p>\n<p>Kontrollen over utviklingen av jQuery ble ogs\u00e5 mer formalisert. I 2011 opprettet teamet <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2011\/11\/18\/getting-board-of-jquery\/\">jQuery Board<\/a><\/noindex>. Og i 2012 ble jQuery Board<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2012\/03\/06\/announcing-the-jquery-foundation\/\"> omgjort til jQuery Foundation<\/a><\/noindex>.<\/p>\n<p>I 2015 blei jQuery Foundation ein del av Dojo Foundation,<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2015\/09\/01\/jquery-foundation-and-dojo-foundation-to-merge\/\"> for \u00e5 opprette JS Foundation<\/a><\/noindex>, som deretter slo seg sammen med Node.js Foundation i<noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@nodejs\/introducing-the-openjs-foundation-the-next-phase-of-javascript-ecosystem-growth-d4911b42664f\"> 2019<\/a><\/noindex>-en for \u00e5 danne<noindex><a rel=\"nofollow\" href=\"https:\/\/openjsf.org\/\"> OpenJS Foundation<\/a><\/noindex>, der jQuery var ein av \"<noindex><a rel=\"nofollow\" href=\"https:\/\/openjsf.org\/projects\/#impact\">banebrytende prosjektene<\/a><\/noindex>.\"<\/p>\n<h2>Endrede omstendigheter<\/h2>\n<p>\nMen de siste \u00e5rene har jQuery <noindex><a rel=\"nofollow\" href=\"https:\/\/trends.google.com\/trends\/explore\/TIMESERIES\/1564319400?hl=en-US&amp;tz=240&amp;date=all&amp;geo=US&amp;q=jquery&amp;sni=3\">mistet noe av sin popularitet<\/a><\/noindex>. GitHub<noindex><a rel=\"nofollow\" href=\"https:\/\/github.blog\/2018-09-06-removing-jquery-from-github-frontend\/\"> fjernet biblioteket fra frontend-siden sin<\/a><\/noindex>. Bootstrap v5 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/twbs\/bootstrap\/pull\/23586\">vil bli kvitt jQuery<\/a><\/noindex>, fordi det er dets \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.getbootstrap.com\/2019\/02\/11\/bootstrap-4-3-0\/\">st\u00f8rste klientavhengighet for vanlig JavaScript<\/a><\/noindex>\u00bb (for \u00f8yeblikket p\u00e5 30 KB, minifisert og pakket). Flere trender innen webutvikling har svekket jQuerys stilling som et n\u00f8dvendig verkt\u00f8y.<\/p>\n<h3>Nettlesarar<\/h3>\n<p>\nAv en rekke grunner har forskjeller og begrensninger mellom nettleserne blitt mindre viktige. For det f\u00f8rste har standardiseringen blitt bedre. De viktigste nettleserutviklerne (Apple, Google, Microsoft og Mozilla) samarbeider om \u00e5 utvikle<noindex><a rel=\"nofollow\" href=\"https:\/\/spec.whatwg.org\/\"> webstandarder<\/a><\/noindex> i rammer av<noindex><a rel=\"nofollow\" href=\"https:\/\/whatwg.org\/\"> Web Hypertext Application Technology Working Group<\/a><\/noindex>.<br \/>\nSelv om nettleserne fortsatt skiller seg fra hverandre p\u00e5 flere viktige punkter, har leverand\u00f8rene i det minste et middel for \u00e5 finne og lage et felles grunnlag i stedet for <noindex><a rel=\"nofollow\" href=\"https:\/\/thehistoryoftheweb.com\/browser-wars\/\">permanent krig<\/a><\/noindex> mot hverandre. F\u00f8lgelig har API-ene i nettleserne f\u00e5tt nye muligheter. For eksempel, <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Fetch_API\">Fetch API<\/a><\/noindex> kan erstatte Ajax-funksjoner fra jQuery:<\/p>\n<pre><code class=\"javascript\">\/\/ jQuery\n$.getJSON('https:\/\/api.com\/songs.json')\n    .done(function (songs) {\n        console.log(songs);\n    })\n\n\/\/ native\nfetch('https:\/\/api.com\/songs.json')\n    .then(function (response) {\n        return response.json();\n    })\n    .then(function (songs) {\n        console.log(songs);\n    });<\/code><\/pre>\n<p>\nMetoder <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Document\/querySelector\">querySelector<\/a><\/noindex> og<noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Document\/querySelectorAll\"> querySelectorAll<\/a><\/noindex> dupliserer valgverkt\u00f8yene fra jQuery:<\/p>\n<pre><code class=\"javascript\">\/\/ jQuery\nconst fooDivs = $('.foo div');\n\n\/\/ native\nconst fooDivs = document.querySelectorAll('.foo div');<\/code><\/pre>\n<p>\n\u00c5 manipulere klassene til elementene kan n\u00e5 gj\u00f8res med <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Element\/classList\">classList<\/a><\/noindex>:<\/p>\n<pre><code class=\"javascript\">\/\/ jQuery\n$('#warning').toggleClass('visible');\n\n\/\/ native\ndocument.querySelector('#warning').classList.toggle('visible');<\/code><\/pre>\n<p>\nP\u00e5 nettstedet<noindex><a rel=\"nofollow\" href=\"http:\/\/youmightnotneedjquery.com\/\"> Du trenger kanskje ikke jQuery<\/a><\/noindex> det er listet opp flere situasjoner der jQuery-koden kan erstattes med native kode. Noen utviklere holder alltid fast ved jQuery, fordi de bare ikke kjenner de nye API-ene, men n\u00e5r de f\u00e5r vite om dem, begynner de \u00e5 bruke biblioteket sjeldnere.<\/p>\n<p>\u00c5 bruke native funksjoner gj\u00f8r det mulig \u00e5 forbedre ytelsen til sidene. Mange <noindex><a rel=\"nofollow\" href=\"https:\/\/api.jquery.com\/category\/effects\/\">animasjonseffekter fra jQuery<\/a><\/noindex> kan n\u00e5 implementeres<noindex><a rel=\"nofollow\" href=\"https:\/\/dev.opera.com\/articles\/css3-vs-jquery-animations\/\"> mye mer effektivt<\/a><\/noindex> med CSS.<\/p>\n<p>Den andre grunnen er at nettleserne oppdateres mye raskere enn f\u00f8r. I de fleste brukes <noindex><a rel=\"nofollow\" href=\"https:\/\/www.techopedia.com\/definition\/31094\/evergreen-browser\">en \u00abeviggr\u00f8nn\u00bb oppdateringsstrategi<\/a><\/noindex>, bortsett fra Apple Safari. De kan oppdateres i bakgrunnen uten brukerens involvering og er ikke knyttet til OS-oppdateringer.<\/p>\n<p>Dette betyr at nye muligheter i nettleserne og feilrettinger sprer seg mye raskere, og utviklere trenger ikke \u00e5 vente p\u00e5 at andelen <noindex><a rel=\"nofollow\" href=\"https:\/\/caniuse.com\/\">Kan jeg bruke<\/a><\/noindex> vil n\u00e5 et akseptabelt niv\u00e5. De kan trygt bruke nye funksjoner og API-er uten \u00e5 m\u00e5tte laste ned jQuery eller polyfills.<\/p>\n<p>Den tredje grunnen er at Internet Explorer n\u00e6rmer seg fullstendig foreldelse. IE har lenge v\u00e6rt et mareritt for webutvikling over hele verden. Dens karakteristiske feil har v\u00e6rt utbredt, og ettersom IE dominerte p\u00e5 2000-tallet og ikke brukte en 'eviggr\u00f8nn' oppdateringsstrategi, er det stadig gamle versjoner som er i oml\u00f8p.<\/p>\n<p>I 2016 akselererte Microsoft avviklingen av IE, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.microsoft.com\/en-us\/microsoft-365\/windows\/end-of-ie-support\">ved \u00e5 slutte \u00e5 st\u00f8tte<\/a><\/noindex> den tiende og eldre versjoner, ved \u00e5 begrense st\u00f8tten til IE 11. Og stadig oftere kan webutviklere tillate seg \u00e5 ignorere kompatibilitet med IE.<\/p>\n<p>Til og med jQuery sluttet \u00e5 st\u00f8tte IE 8 og eldre fra <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2013\/04\/18\/jquery-2-0-released\/\">versjon 2.0<\/a><\/noindex>, som ble utgitt i 2013. Og selv om det fortsatt er tilfeller hvor st\u00f8tte for IE er n\u00f8dvendig, for eksempel p\u00e5 gamle nettsteder, skjer disse situasjonene sjeldnere.<\/p>\n<h3>Nye rammeverk<\/h3>\n<p>\nSiden jQuery ble introdusert, har mange rammeverk blitt utviklet, inkludert moderne ledere <noindex><a rel=\"nofollow\" href=\"https:\/\/reactjs.org\/\">React<\/a><\/noindex>,<noindex><a rel=\"nofollow\" href=\"https:\/\/angular.io\/\"> Angular<\/a><\/noindex> og <noindex><a rel=\"nofollow\" href=\"https:\/\/vuejs.org\/\">Vue<\/a><\/noindex>. De har to viktige fordeler sammenlignet med jQuery.<\/p>\n<p>For det f\u00f8rste gj\u00f8r de det enkelt \u00e5 dele brukergrensesnittet inn i komponenter. Rammeverkene er designet for \u00e5 h\u00e5ndtere rendering og oppdatering av siden. jQuery brukes vanligvis kun for oppdatering, og overlater til serveren ansvaret for \u00e5 levere den opprinnelige siden.<\/p>\n<p>P\u00e5 den annen side tillater komponentene i React, Angular og Vue en tett sammenkobling av HTML, kode og til og med CSS. Som vi deler kodebasen inn i mange selvforsynte funksjoner og klasser, gj\u00f8r muligheten for \u00e5 dele grensesnittet inn i gjenbrukbare komponenter det lettere \u00e5 bygge og vedlikeholde komplekse nettsteder.<\/p>\n<p>Den andre fordelen er at nyere rammeverk f\u00f8lger en deklarativ tiln\u00e6rming, der utvikleren beskriver hvordan grensesnittet skal se ut, og rammeverket tar seg av alle n\u00f8dvendige endringer for \u00e5 oppn\u00e5 det \u00f8nskede resultatet. Denne tiln\u00e6rmingen er i kontrast til den imperativ tiln\u00e6rmingen som er karakteristisk for jQuery-kode.<\/p>\n<p>I jQuery skriver du tydelig ned trinnene for \u00e5 gj\u00f8re endringer. I et deklarativt rammeverk sier du: 'I henhold til disse dataene, b\u00f8r grensesnittet se slik ut.' Dette kan i stor grad forenkle kode skriving uten feil.<\/p>\n<p>Utviklerne har tatt i bruk nye metoder for nettsideutvikling, noe som har f\u00f8rt til at populariteten til jQuery har falt.<\/p>\n<h2>N\u00e5r b\u00f8r man bruke jQuery?<\/h2>\n<p>\nS\u00e5 n\u00e5r skal vi <i>b\u00f8r <\/i>bruke jQuery?<\/p>\n<p>Hvis prosjektets kompleksitet \u00f8ker, er det bedre \u00e5 begynne med et annet bibliotek eller rammeverk som gir en fornuftig m\u00e5te \u00e5 h\u00e5ndtere kompleksitet p\u00e5, for eksempel ved \u00e5 dele opp grensesnittet i komponenter. Bruken av jQuery p\u00e5 slike nettsteder kan i starten virke akseptabelt, men det vil raskt f\u00f8re til spaghetti-kode, hvor du ikke vet hvilke deler som p\u00e5virker hvilke deler av siden.<\/p>\n<p>Jeg har v\u00e6rt i en slik situasjon, der ethvert fors\u00f8k p\u00e5 \u00e5 gj\u00f8re en endring f\u00f8les som en vanskelig oppgave. Man kan ikke v\u00e6re sikker p\u00e5 at man ikke \u00f8delegger noe, fordi jQuery-selektorene er avhengige av HTML-strukturen som serveren har laget.<\/p>\n<p>I den andre enden av skalaen finner vi enkle nettsteder som bare trenger litt interaktivitet eller dynamisk innhold. I slike tilfeller ville jeg heller ikke automatisk bruke jQuery, fordi man kan gj\u00f8re mye mer med native API-er.<\/p>\n<p>Selv om jeg trenger noe mer kraftfullt, vil jeg se etter et spesialisert bibliotek, for eksempel <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/axios\/axios\">axios<\/a><\/noindex> for Ajax eller<noindex><a rel=\"nofollow\" href=\"https:\/\/daneden.github.io\/animate.css\/\"> Animate.css<\/a><\/noindex> for animasjoner. Det vil v\u00e6re enklere enn \u00e5 laste hele jQuery for \u00e5 f\u00e5 liten funksjonalitet.<\/p>\n<p>Jeg tror det beste argumentet for \u00e5 bruke jQuery er at det tilbyr omfattende funksjonalitet for frontend-arbeid p\u00e5 nettstedet. I stedet for \u00e5 l\u00e6re forskjellige native API-er eller spesialiserte biblioteker, kan du bare lese jQuery-dokumentasjonen, og du blir straks produktiv.<\/p>\n<p>Den imperativ tiln\u00e6rmingen skalerer d\u00e5rlig, men er enklere \u00e5 mestre enn den deklarative tiln\u00e6rmingen til andre biblioteker. For et nettsted med klart begrensede muligheter, er det best \u00e5 bruke jQuery og jobbe i fred: Biblioteket krever ingen komplisert bygging eller kompilering.<\/p>\n<p>I tillegg er jQuery nyttig i de tilfellene hvor du er sikker p\u00e5 at nettstedet ikke vil bli mer komplekst over tid, og hvis du ikke er bekymret for native funksjonalitet som helt klart vil kreve mer kode enn jQuery.<\/p>\n<p>Du kan ogs\u00e5 bruke dette biblioteket hvis det er behov for \u00e5 st\u00f8tte eldre versjoner av IE. Da vil jQuery fungere for deg, akkurat som i de tidene da IE var den mest popul\u00e6re nettleseren.<\/p>\n<h2>Fremtidsblikk<\/h2>\n<p>\njQuery vil ikkje forsvinne med det f\u00f8rste. Det <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jquery\/jquery\">utvikles aktivt<\/a><\/noindex>, og mange utviklere foretrekker \u00e5 bruke API-et, selv om nativemetoder er tilgjengelige. Biblioteket har hjulpet en hel generasjon utviklere med \u00e5 lage nettsteder som fungerer p\u00e5 alle nettlesere. Og selv om mange aspekter har blitt erstattet av nye biblioteker, rammeverk og paradigmer, har jQuery spilt en enormt positiv rolle i \u00e5 skape moderne web.<\/p>\n<p>Hvis funksjonaliteten til jQuery ikke endres vesentlig, er det sannsynlig at bruken av biblioteket vil fortsette \u00e5 avta sakte, men sikkert i l\u00f8pet av de neste \u00e5rene. Nye nettsteder blir vanligvis laget fra bunnen av ved \u00e5 bruke mer moderne rammeverk, og passende bruksomr\u00e5der for jQuery oppst\u00e5r stadig sjeldnere.<\/p>\n<p>Noen liker ikke intensiteten av verkt\u00f8yene for webutvikling som blir utdaterte, men for meg er det et tegn p\u00e5 rask fremgang. jQuery har gjort oss i stand til \u00e5 gj\u00f8re mye bedre. Det samme gjelder for dens etterkommere.<br \/>\n<br \/>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/468169\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>jQuery \u2014 \u044d\u0442\u043e \u0441\u0430\u043c\u0430\u044f \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u0430\u044f \u0432 \u043c\u0438\u0440\u0435 JavaScript-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430. \u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0441\u043e\u0437\u0434\u0430\u043b\u043e \u0435\u0451 \u0432 \u043a\u043e\u043d\u0446\u0435 2000-\u0445, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043a \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044e \u0431\u043e\u0433\u0430\u0442\u043e\u0439 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0430\u0439\u0442\u043e\u0432, \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u0438 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c jQuery. \u041d\u043e \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0433\u043e\u0434\u044b \u0435\u0451 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e\u0448\u0430\u0442\u043d\u0443\u043b\u0441\u044f. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043f\u043e\u0447\u0435\u043c\u0443 jQuery \u0441\u0442\u0430\u043b\u0430 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439 \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d\u0430 \u0432\u044b\u0448\u043b\u0430 \u0438\u0437 \u043c\u043e\u0434\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28907,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-38523","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"jQuery \u2014\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/no\/blog\/news\/istoriya-i-nasledie-jquery\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"nn_NO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0438 \u043d\u0430\u0441\u043b\u0435\u0434\u0438\u0435 jQuery | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"jQuery \u2014\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/no\/blog\/news\/istoriya-i-nasledie-jquery\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:24:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:24:17+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Historien og arven til jQuery | ProHoster","description":"jQuery \u2014","canonical_url":"https:\/\/prohoster.info\/no\/blog\/news\/istoriya-i-nasledie-jquery","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nn_NO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0438 \u043d\u0430\u0441\u043b\u0435\u0434\u0438\u0435 jQuery | ProHoster","og:description":"jQuery \u2014","og:url":"https:\/\/prohoster.info\/no\/blog\/news\/istoriya-i-nasledie-jquery","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:24:17+00:00","article:modified_time":"2019-10-31T19:24:17+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38523","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 22:22:33","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:07:40","updated":"2026-01-23 22:22:33","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/38523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/comments?post=38523"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/38523\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/media\/28907"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/media?parent=38523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/categories?post=38523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/tags?post=38523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}