jQuery – DIE Javascript-Library

Slides:



Advertisements
Ähnliche Präsentationen
GWT - google Web Toolkit
Advertisements

Be.as WEB Technologie
der Universität Oldenburg
Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
Attribute Profile.
Seite 1Maria, Philipp, Herbert Seite 1 Fitnessplaner Ziele: >Fitnessplaner für Onlinebetrieb >Registrierung >individuelle Trainingsplanerstellung.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
FH-Hof Einbindung von JavaScript Anweisungen
Java: Dynamische Datentypen
FH-Hof Servlets Richard Göbel. FH-Hof Konzept Servlets werden auf der Server-Seite durch ein Formular aufgerufen werten die Eingaben aus einem Formular.
Java: Grundlagen der Sprache
Colibi Bibliothekssystem der Computerlinguistik. Einführung Motivation Was braucht Colibi? Software Datenbankdesign.
DOM (Document Object Model)
XHTML 1.1 C. Nimz Abstrakte Module XHTML 1.1 C. Nimz Was ist ein abstraktes Modul? Definition eines XHTML-Moduls in spezieller leichter.
XForms Von Matthias Keck.
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Cascading Style Sheets
Die Skriptsprache Perl (8) Wolfgang Friebel DESY Zeuthen.
Oracle interMedia Image
AutoSave für AJAX-Formulare Timo Holzherr
Zukunft des Webs? Dennis Beer Christian Blinde
Einführung MySQL mit PHP
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
FH-Hof 1 XML-Parser Richard Göbel. FH-Hof 2 XML-Parser- DOM Object Tree Parser Objekt der Klasse 'DocumentBuilderFactory' mit 'newInstance()' erzeugen.
YouTube5 .0 Projektpräsentation
Einführung Servlets/JSPs
Suchmaschinen am Theo Groß und Bernhard Meyer.
Wir bauen uns eine Webapplikation!
Grundlagen der sicheren PHP Programmierung Parametermanipulationen und Injektionslücken Stefan Esser Hardened-PHP Project.
InfoPoint vom 9. November Was ist Joomla? Theorie Installation Extensions Administration Demo.
EIDAMO ® Frontend Das neue Frontend gibt Ihnen 100% Flexibilität, und weil es auf verschiedene Framework Biblieotheken basiert, können Sie praktisch.
JavaScript.
1 Sg 3 – JSP - Java Server Pages Softwareengineering Praktikum Java Server Pages Nicole Brandstätter Josef Sturm Karl Streicher.
Brand my SharePoint Grafische Gestaltung von SharePoint-Webseiten
RATEME Suchen und Bewerten von Ausgangsorten. Inhalt RateMe - Pirmin Schürmann, Thomas Junghans - Hochschule für Technik Zürich 2 Unser Ziel.
Clientseitig Session IDs Erweiterungen wie NoScript Cookies verbieten Serverseitig Tokens HTML Entities verwenden 1.
Developer Day Office APPs entwicklen Simon Amrein Trivadis AG Die ersten Schritte in eine neue Office-Welt.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.
KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft INSTITUT FÜR ANGEWANDTE INFORMATIK UND FORMALE.
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
RATEME Suchen und Bewerten von Ausgangsorten. Inhalt RateMe - Pirmin Schürmann, Thomas Junghans - Hochschule für Technik Zürich 2 Unser Ziel.
JavaScript-Bibliotheken
VU Semistrukturierte Daten 1
Oliver Spritzendorfer Thomas Fekete
Webseiten mit PHP, SQL, XML und Webservices Anhand praktischer Beispiele.
Web 2.0 & AJAX (A)sysnchrones (J)avaScript (A)nd (X)ML
Jonas Rüttimann 2. Juni Motivation Was ist RAP? Schnellstart: Wir bringen RAP zum Laufen! Technologie: Wie funktioniert RAP? Konsequenzen für die.
Mag. Andreas Starzer weloveIT – EDV Dienstleistungen
RATEME Suchen und Bewerten von Ausgangsorten. Inhalt RateMe - Pirmin Schürmann, Thomas Junghans - Hochschule für Technik Zürich 2 Unser Ziel.
RATEME Suchen und Bewerten von Ausgangsorten. Inhalt RateMe - Pirmin Schürmann, Thomas Junghans - Hochschule für Technik Zürich 2 Unser Ziel.
RATEME Suchen und Bewerten von Ausgangsorten. Inhalt RateMe - Pirmin Schürmann, Thomas Junghans - Hochschule für Technik Zürich 2 Unser Ziel.
Aufzeichnung von Usability-Daten im www. Client-Side Log : automatisch (maschinell) generiertes Protokoll Client : Rechner mit dem Browser des Users Server:
Content-Managment-System
CSS Cascading Style Sheets
JavaScript-Bibliotheken
Tutorium zur LV Forschungspraktikum II (Higher Education) Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.
Ajax und Webentwicklung mit Prototype
Kay Herzam IT Consulting GmbH Webentwicklung mit ASP.NET 4, Ajax und jQuery.
->Prinzip ->Systeme ->Peer – to – Peer
BRÜCKENSEMESTER Kursthema: Frontend-Entwicklung für Webapplikationen M.Sc. Anna Prenzel, Sebastian Otto.
Formulare Vanessa Kogelbauer.
Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen
TypoScript.
JQuery Maya Kindler 5c. Entwickler/ Autor John Resig hat jQuery entwickelt. jQuery ist eine Javascript Bibliothek die das programmieren in Javascript.
JQuery: New Wave Javascript Seite 1 jQuery: New Wave Javascript Jörn Zaefferer TIMETOACT Software & Consulting GmbHT: Im Mediapark 2F:
1 Einleitung Auf dem Weg zum Web 2.0 (was immer das sein mag) ist jQuery klein und fix Hängt damit die "Großen" wie Prototype, Dojo oder Mochikit ab Kreuzt.
Web App-Entwicklung – der richtige Technologiemix macht’s
 Präsentation transkript:

jQuery – DIE Javascript-Library Uwe Dierolf INETBIB 2010, 14. April .2010

Motivation Selektoren Events Animationen DOM Manipulation AJAX Plugins Inhalt Motivation Selektoren Events Animationen DOM Manipulation AJAX Plugins Tipps für Entwickler Beispiele 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

Einfache Manipulation von Seiteninhalten Motivation Rich Clients Beispiele jQuery UI = User Interface http://jqueryui.com/ Comicstrip Navigation http://paulbakaus.com/lab/navigation/comicstrip/ Einfache Manipulation von Seiteninhalten Beispiel KVK KVK-Suchmaske „Eigene Kataloge“ Zugriff auf Daten und Ereignisse in Seiten Beispiel KIT-Katalog Loggen von Mausklicks auf externe Links Tastatursteuerung Browserunabhängige Erstellung von Javascript-Code 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

Unobtrusive Javascript ? Bedeutung unaufdringlich, unauffällig Idee CSS trennt Layoutinformation vom HTML jQuery trennt Javascript vom HTML Separation von Funktionalität (behaviour layer) Einklinken in HTML-Seiten Laden von jQuery und eigenem JS-Programm $(document).ready(function() {….}); 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

Schnell mal "Objekte" im HTML auffinden Selektoren Schnell mal "Objekte" im HTML auffinden IDs, Klassen, Attribute, Attribute mit speziellen Werten etc. $('#id') , $('.class'), $('element') Attribute [name=value] Multiple selectors AND [name=value][name2=value2] OR (“selector1, selector2, selectorN”) Hierarchisch $('ancestor descendant') , $('parent > child' ) Filter $('p:first') , $('div:visible' ) , $('*:header' ) U.v.a. mehr (s. jQuery) $('div:has(img.thumbnail[src$=.png ]:not(:hidden))' ) 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

Selektoren II Liefern Treffermengen (wrapped set), auf die Aktionen angewandt werden können Chaining von Aktionen Jede Methode liefert die Objekte zurück, auf denen Sie arbeitet Beispiel Suche alle Paragraphen und mache darin den Text rot und blende sie dann langsam aus $("p").css("color","red").hide("slow") 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

Eventhandler erhält das Event Object Live-Events Ereignisse abfangen Events an Objekte binden (bind / unbind) $('#id').bind('click' , callbackHandler) $('#id').bind('click', function() { alert('User clicked on "foo."'); }); Shortcut für bind('eventname‘) click() mouseenter() etc. Eventhandler erhält das Event Object Praktisch, um z.B. das Objekt zu ermitteln, auf das geklickt wurde Live-Events Events Objekten zuordnen, die es noch nicht gibt 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

Von jQuery UI (= user interface) lernen Animationen Von jQuery UI (= user interface) lernen Comicstrip animation (a la Macintosh) Z.B. von Paul Bakaus Fisheye http://interface.eyecon.ro/demos/fisheye.html 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

DOM-Manipulation Insert / change / replace / remove nodes Inside .append(content) / .prepend(content) Outside .after(content) / .before(content) Around .wrap(content) / .wrapAll(content) Einfache Operationen $('#id').text('der Text') / $('#id').html('<p>huhu</p>') $('#id').empty() / .remove() 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

Laden von "externen" Inhalten AJAX Laden von "externen" Inhalten VORSICHT: Sicherheitsmodell schränkt ein Extern heißt "auf dem eigenen Server !" Man sieht nicht unbedingt sofort, dass AJAX im Spiel ist $('#id').load("externalData.html" ) Praktisch: load() erlaubt auch die Angabe von Selektoren load(file #id) $.get("http://. . ." , [ data ] , [callback] , [ type ] ) ; Analog POST-Requests $.getScript("meinJavascript.js" , [callback] ) ; Callback wird nur bei Erfolg aufgerufen ! 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

Möglichst oft IDs und Klassennamen im HTML einsetzen Tipps Möglichst oft IDs und Klassennamen im HTML einsetzen Sowas kann man einfach per Selektor suchen Man kann mehr als nur einen Klassennamen verwenden Wird oft zum Speichern eines Status benutzt Beliebige eigene Attributnamen sind praktisch Kann man mit attr() leicht lesen und ändern $('#id').attr('attributname') $('#id').attr('attributname',newValue) 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

Plugins nutzen Wer suchet, der findet ! Nicht gleich alles selber programmieren Es gibt tausende von Plugins Eigene Plugins zu erstellen, ist nicht (so) schwer 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

jquery.sync-load.js (Jakob Westhoff) jtip.js (modified) "Meine" Plugins jquery.cookies.2.2.0.js Cookie-Management jquery.hotkeys.js jquery.json-2.2.js JSON-Behandlung jquery.values.js Verwaltung von Formularwerten jquery.sync-load.js (Jakob Westhoff) Synchrone load()-function zum Laden von HTML in Variablen jtip.js (modified) Tooltips von Cody Lindley 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

Fallstricke beim Entwickeln Fehler (frühzeitig) erkennen Beispiel Include eines jQuery-Plugins vergessen aber Plugin-function aufgerufen Ready-Handler bricht mitten drin ab ! Firefox-Fehlerkonsole öffnen Firebug-Konsole benutzen Unten am Rand aufs rote Kreuz achten 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

Fallstricke bei event-Handlern I Man kann einen Event mehrmals an ein Objekt binden vorher unbind() verwenden Hilfreich: "namespaces" $('div').bind('click.mynamespace' , function () {/* ... */ }); $('div').unbind('click.mynamespace') ; Alles entfernen: $('div').unbind('. mynamespace') ; Event-Modell hängt LEIDER DOCH vom Browser ab Zum Glück nur selten ! Bsp.: change-Event kommt beim IE erst nach blur Bubbling von unten nach oben Ggfs. stopPropagation verwenden 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

Fallstricke bei event-Handlern II Callback ohne Argumente $.get('myhtmlpage.html', myCallBack); Callback mit Argumenten Falsch: $.get('myhtmlpage.html', myCallBack(param1, param2)); Richtig $.get('myhtmlpage.html', function(){ myCallBack(param1, param2); }); 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

Rückgabewerte sind manchmal Objekte, manchmal Strings Javascript-Tipps Rückgabewerte Sind manchmal null oder undefined oder der String "undefined" Rückgabewerte sind manchmal Objekte, manchmal Strings Beispiel JSON Firefox ab 3.5 behandelt JSON intern als Objekt, IE noch nicht Führt zu JSON.parse-Fehlern Code schützen Google Closure Compiler http://code.google.com/intl/de-DE/closure/compiler/ JS Obfuscator http://javascript-obfuscator.software.informer.com/ 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

Cookies als Gedächtnis VORSICHT Cookies Cookies als Gedächtnis Kann ins Auge gehen, da zu viel zum Server übertragen wird Error 500 Abhilfe: localStorage Nachteil: Kennen noch nicht alle Browsern 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

jQuery lernen jQuery in Action lesen Tools für Firefox Herumspielen mit den diversen Labs http://www.ubka.uni-karlsruhe.de/jquery/jquery-in-action-DEMO/chapter1/document.ready.html Tools für Firefox Firebug FireQuery Eventbug Livehttpheaders 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

Wer es nicht benutzt, ist selber schuld Fazit Wer es nicht benutzt, ist selber schuld jQuery ist klein Ziemlich gut getestet Sehr performant Kompatibel mit anderen JS-Libraries (noConflict) jQuery 1.4 ist noch neu Z.T. um Faktoren schneller Vorsicht bei Verwendung alter Plugins oder UI 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

Vielen Dank Noch fit für Fragen ? 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

jQuery in Action, Bear Bibeault undYehuda Katz, engl. Literatur jQuery in Action, Bear Bibeault undYehuda Katz, engl. jQuery, Ralph Steyer), dt., Learning jQuery 1.3, PACKT Publishing, engl. jQuery Reference Guide, PACKT Publishing, engl. jQuery UI 1.6, PACKT Publishing, engl. (neu 1.7) 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek

Links http://docs.jquery.com/Main_Page http://www.ubka.uni-karlsruhe.de/jquery/jquery-in-action-DEMO/ http://en.wikipedia.org/wiki/Unobtrusive_JavaScript http://westhoffswelt.de/blog.html http://westhoffswelt.de/data/portfolio/webtechcon_2009_bubbles_and_trees_with_jquery.pdf 28.03.2017 Dipl.-Inform. Uwe Dierolf - KIT-Bibliothek