Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 24 reacties
Bron: jQuery

Voor het vereenvoudigen van client-side-scripting in html kun je gebruikmaken van jQuery. Dit is een opensource-JavaScript-library, waarvan de syntax het makkelijker maakt om door documenten te navigeren, DOM-elementen te selecteren, animaties in elkaar te zetten, events af te handelen en natuurlijk Ajax-applicaties te ontwikkelen. Daarnaast kan de functionaliteit worden uitgebreid door plug-ins te gebruiken. Voor meer informatie verwijzen we naar deze pagina. De ontwikkelaars hebben versie 1.6.3 de deur uitgedaan, voorzien van de volgende aankondiging:

jQuery 1.6.3 Released

jQuery 1.6.3 is now out! This is the third minor release on top of jQuery 1.6 and lands a number of fixes for bugs, as listed below. As usual, we provide two copies of jQuery, one minified and one uncompressed (for debugging or reading).

You can help us by dropping that code into your existing application and letting us know if anything no longer works. Please file a bug and be sure to mention that you’re testing against jQuery 1.6.3.

Many thanks to all the people who reported bugs, submitted patches, and otherwise helped with this release! We want to encourage everyone from the community to get involved in contributing back to jQuery core. We’ve set up a full page of information dedicated towards becoming more involved with the team. The team is here and ready to help you help us!

Highlights

Fix an XSS attack vector: User ma.la reported a common pattern that many sites are using to select elements using location.hash that allows someone to inject script into the page. This practice seemed widespread enough that we decided to modify the selector recognition to prevent script injection for the most common case. Any string passed to $() cannot contain HTML tags (and thus no script) if it has a “#” character preceding them. See the ticket linked above for more information and a test case.

No more animation “worm holes”: We had high hopes for the browser’s requestAnimationFrame API when we added support into version 1.6. However, one of the highest-volume complaints we’ve received since then relates to the way requestAnimationFrame acts when a tab is not visible. All the animations initiated when the tab is invisible “stack” and are not executed until the tab is brought back into focus. Then they all animate at warp speed! We’ve removed support for this API (which has no impact on the way you call jQuery’s animation features) and plan to incorporate it into a future version of jQuery.

Better handling of HTML5 data attribute names: The $().data() API serves double-duty, handling data for the internal use of jQuery and plugins in addition to reading initial values of HTML5 data- attributes. We’ve improved the ability to use HTML5 conventions such as converting camel-case to camelCase when needed. Remember, however, that the $().data() API only reads the HTML5 data- attributes initially, and does not keep subsequent data changes in sync with attributes for performance reasons. To update the actual attributes in the HTML markup, use .attr().

jQuery 1.6.3 Change Log

The change log of the 1.6.3 release:

Ajax
  • #9255: jQuery.parseXML error handling does not work in webkit browsers
  • #9854: Pass statusText through instead of “normalizing” it
  • #9887: jQuery.ajaxSetup may cause unnecessary memory usage
  • #9970: Typo in ajax.js: status should be jqXHR.status?
  • #10098: Encode comment-like Accept headers to avoid mobile carrier mangling
Attributes
  • #9630: foo.contents().hasClass() returns incorrect value
  • #9699: removeAttr(‘style’) does not consistently remove the style attribute in webkit
  • #9719: removeAttr(‘disabled’) doesn’t change input’s color on IE6
  • #9979: .prop(‘tabIndex’) returns inconsistent results for elements that have not yet set tabIndex
  • #9980: Simplify the attr code by using getAttributeNode for everything in IE6/7
Build
  • #9988: Minimal License Header in compressed jQuery
Core
  • #9521: XSS with $(location.hash) and $(#) is needed?
  • #9897: try-catch isPlainObject detection
  • #10076: $.inArray crashes IE6 and Chrome if second argument is `null` or `undefined`
CSS
  • #6652: Remove filter:alpha(opacity=100) after animation
  • #9572: Support -ms-transform in .css() method
  • #10021: Can’t add negative numbers using the relative-value syntax with .css() and .animate()
Data
  • #8235: jQuery.data throws a script error in certain circumstances
  • #9318: HTML5 data attributes has strange behaviour with if attribute names contain numbers
  • #9413: $.fn.removeData does not remove data with a dash in a name
  • #9779: Allow non-null|undefined evaluation of data property values
  • #9794: jQuery.fn.data() correctly handle access to arbitrary data property values
  • #10016: Cannot retrieve “false-y” values under key names with dashes using jQuery.data method
  • #10080: unload from frame’s window breaks in IE8
Dimensions
  • #10123: .width() can return a float in Firefox 6
Effects
  • #9381: Animations halt when the browser is out of focus due to requestAnimationFrame
  • #9678: setInterval cleared by animation
Event
  • #7071: Accessing the ‘type’ property on VML elements fails on IE during submit special handler
Manipulation
  • #9587: Cloning a div with an object causes error in IE8
Support
  • #9634: Visible “t” character in upper left corner during support.js init
  • #9823: IE 8 crashes when using background-image on BODY in css
  • #9964: test/support.js module strictEqual typo
  • #10029: $.support.scriptEval removed, but still included in documentation
Please do file a bug report with a test case as soon as possible if you find problems, as described above. Blog comments or Twitter aren’t helpful bug reports!
Versienummer:1.6.3
Releasestatus:Final
Besturingssystemen:Scripttaal
Website:jQuery
Download:http://docs.jquery.com/Downloading_jQuery
Licentietype:GPL
Moderatie-faq Wijzig weergave

Reacties (24)

Voor de mensen die het (misschien) nog niet weten: JQuery is ook beschikbaar op Google server (deze versie staat er nog niet op, maar dit zal vlug volgen)

Linkje: http://code.google.com/apis/libraries/devguide.html#jquery
Met bijgevolg een extra DNS-lookup en een extra HTTP verbinding waardoor de site trager laadt en Google op de koop toe ook nog eens weet welke bezoekers jouw site bezoeken. Nee bedankt.

Als het je om de snelheid gaat die Google en anderen zo promoten voor de Google hosting van javascript libraries, is een veel betere oplossing is om al je javascripts, inclusief jquery e.d., serverside samen te rapen en ge-gzip't naar de client te sturen. Geen extra DNS-requests, slechts 1 HTTP-request voor alle scripts en een aanmerkelijke compressie van alle javascript. Zelfde geldt overigens voor CSS natuurlijk.
Als meerdere websites de versie op de Google site laden, is die gewoon gecached in de browser en dus nog sneller dat van je eigen website.

Daarnaast is minifyen van je eigen JS en CSS een goed idee natuurlijk.
Mooi framework, erg veel updates en we maken er hier ook dankbaar gebruik van! Zonder jQuery was het voor ons onbegonnen werk om een website met AJAX en wat animaties in elkaar te draaien.
Je hebt meerdere frameworks waar dit allemaal ook heel makkelijk kan hoor :) onbegonnen werk is een beetje overdreven :)

Maar idd jquery is een erg fijn/kleine javascript library!
Onbegonnen werk zonder een JS framework in het algemeen, mee eens.
Crossbrowser compatible JS scripten is wat tricky (niet onmogelijk je moet JS gewoon erg goed kennen en de bijbehorende browser curiositeiten) zonder framework.

Maar desalniettemin een erg goed framework en gebruik het zelf ook altijd met veel plezier.
Ik moet eerlijk zeggen dat ik naast JQuery niet heel veel ervaring heb met andere JS frameworks dus vergelijken kan ik niet echt.

Vanavond maar is me sitejes updaten!

[Reactie gewijzigd door jozuf op 8 september 2011 14:36]

Ik zal er vermoedelijk enorm voor worden weggemod, maar misschien ben je wel blij dat ik je erop wijs (steeds meer mensen maken deze fout, dus hopelijk zie je het als behulpzaam). Het moet zijn:

Vanavond maar eens me sitejes updaten

Uitleg: "is" is een werkwoord dat totaal niet op deze plek in een zin kan staan.
Je bedoelt zelfs "Vanavond maar eens mijn sitejes updaten"

"me" is voor kampers en zwakstroom LTS-ers. FI.
Dat is iets waar ik me ook inderdaad enorm aan erger! Tegenwoordig wordt "me" te pas en te onpas gebruikt...
Als je het dan goed zegt dan is het niet me maar mijn of m'n
Nou voor grote projecten is het wel erg veel werk hoor, zeker als je rekening moet houden met browser-comptabiliteit (zoals hieronder genoemd).

Vooral animaties zijn erg lastig te realiseren zonder een jQuery, tenzij je natuurlijk een eigen framework bouwd, maar daar zie ik het nut niet van in.

Maar voor kleine websites kun je inderdaad ook prima zonder jQuery toe.
ik doel op andere frameworks die het ook allemaal kunnen. Dus zonder jquery had je nog keuze zat.
Owh, dat ben ik met je eens. Ik wil ook niet aangeven dat jQuery de beste/enige is, maar slechts het verschil tussen het gebruiken van een bestaand framework zoals jQuery en het zelf ontwikkelen van een framework of zelf geen gebruik maken van een framework.
Ik heb voorheen Mootools en Prototype gebruikt, maar ik vind JQuery toch echt de fijnste. Ik kan niet meer zonder :)
In het verlengde hiervan is de recente discussie op het forum over 'prototype of Jquery?' interessant om te lezen.

jQuery is vooral zeer gebruikersvriendelijk en de standaard als het gaat om gebruik bij frontend toepassingen. In Agile ontwikkeltrajecten goed te gebruiken vanwege de laagdrempeligheid en eenvoudige leercurve.

In de forumdiscussie geeft crisp nog wel aan dat de 'css' syntax in complexe omgevingen niet makkelijk is vanwege het feit dat het moeilijk te debuggen is.
Als 'echte' programmeur geef ik meer de voorkeur aan MooTools. Maar jQuery is voor puur manipuleren van DOM en voor animaties misschien handiger.
Ik werk zelf met jQuery en heb verder geen ervaring met MooTools. Kun je me eens uitleggen waarom je een voorkeur hebt voor MooTools, en dan vooral waarom jij meent dat dat geschikter is voor een 'echte programmeur'? Ben ik wel benieuwd naar.
MooTools is object orientated terwijl je dat van jQuery niet echt kan zeggen. Je hebt met MooTools meer in de hand van wat er gebeurt (en vind ik dat uit en programmeurs oogpunt ook duidelijker). Ik moet wel zeggen dat je in jQuery dingen krachtiger / korter kan opschrijven. Maar dat is natuurlijk mijn voorkeur / mening. Ik zeg niet dat iedereen het er eens mee moet zijn. Ik programmeer met beiden libraries en ze hebben allebei hun voor- en nadelen voor bepaalde toepassingen.
Yes, eindelijk jQuery in de meuktracker!

Ik gebruik het bijna voor alle projecten, verlicht veel dynamisch DOM werk. Ook al is het overkill voor veel projecten, van die overhead merkt de gebruiker nooit iets. En het scheelt je veel werk als developer.
offtopic:
Gebruik de zoekfunctie en je zult zien dat jQuery al vaker in de meuktracker is gekomen. Ik heb op het forum even gemeld dat de history van deze post niet helemaal goed staat.

[Reactie gewijzigd door afraca op 8 september 2011 23:38]

Makkelijk? 8)7 Licht?!

jQuery heeft een hele gebruiksvriendelijke interface en alle functies kunnen wat ze noemen gechained worden, dus direct na elkaar.

PrototypeJs vind het heerlijk om alle basic Prototypes uit breiden, waaronder Object (de basis van alles), en dat is vragen om problemen.

jQuery doet nooit Prototypes zelf aanpassen, maar alleen voor objecten waar dit expliciet wordt gedaan met $( objectRef )

Daarnaast dateert de laatste versie van PrototypeJs alweer uit 2010.

Ik weet nog wel uit de tijd dat ik PrototypeJs gebruikt de pagina veel langzamer klaar is dan zonder PrototypeJs. En de library was dan alleen geladen, maar nog niet eens gebruikt!

PrototypeJs is zeker handig tegenover plain JavaScript, maar is wel zwaar verouderd.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True