Autor: Nathalie Pelz

Ist das ein Bug von jQuery?

Problem Sie nutzen jQuery-Code, um ein verborgenes Element anzuzeigen und dessen HTML-Inhalt nach einer Zeitverzögerung zu setzen, die Sie mit setTimeout() erzeugen: function delayLog(text) { setTimeout( „$(’#log’).show().html(text)“, 1000); } // Irgendwo weiter unten im Code delayLog(’Hello’); Der Aufruf von .show() funktioniert, aber der von .html(text) führt nicht zum gewünschten Ergebnis. Die Firebug-Konsole zeigt, dass die Variable text nicht definiert ist. Der gleiche jQuery-Code funktioniert, wenn er nicht per setTimeout() aufgerufen wird. Gibt es ein Problem, wenn jQuery zusammen mit setTimeout() genutzt wird? Lösung Eine Möglichkeit, herauszufinden, ob jQuery die Ursache des Problems ist, ist das Ersetzen Ihres jQuery-Codes durch anderen JavaScript-Code, der kein jQuery verwendet. In diesem Beispiel können wir den jQuery-Code durch ein einfaches alert() austauschen: function delayLog( text ) { setTimeout( „alert(text)“, 1000 ); } Wenn wir diese Version des Codes auszuprobieren, taucht das gleiche Problem auf – es gibt keinen Alert und Firebug meldet wieder, dass text nicht definiert ist. Damit haben wir das Problem zwar noch nicht gelöst, es aber deutlich eingeschränkt. Es ist ganz offensichtlich nicht jQuery (sofern nicht die …

Profile, Gruppen, Seiten – Die Struktur von Facebook

Selbst erfahrenere Nutzer verwechseln hin und wieder die Begrifflichkeiten bei Facebook. Annette Schwindt, Autorin des Facebook-Buchs, fasst zusammen: Jeder Nutzer hat ein Konto, über das seine Facebook-Präsenz verwaltet wird. Das ist entweder ein Privatkonto (für eine Person, die dann automatisch auch ein persönliches Profil hat) oder ein Unternehmenskonto (das nur der Verwaltung von einer oder mehreren Offiziellen Seiten dient). Unternehmenskonten sind gegenüber Privatkonten in ihrer Funktionalität stark eingeschränkt. Mehr dazu unter http://deblog.schwindt-pr.com/2010/02/26/facebook-unterschied-privatkonto-unternehmenskonto-teil1/ Wenn man sich normal als Person registriert, hat man automatisch auch ein persönliches Profil, über das man sich mit anderen vernetzen kann. Diese Vernetzungen sind gegenseitig und heißen „Freunde“. Profile dürfen nur für wirkliche Personen erstellt werden und dienen der persönlichen Kommunikation. Für ein Profil kann man detaillierte Sichtbarkeits-Einstellungen vornehmen. Als geschäftliche Präsenz innerhalb von Facebook kann jeder rechtmäßige Vertreter eines Unternehmens, Produkts, einer Marke, Band usw. eine sogenannte Offizielle Seite erstellen (früher Fanseiten genannt). Offizielle Seiten dienen der geschäftlichen Kommunikation. Über den „Gefällt mir“-Button können sich andere, die ein Profil haben, mit solchen Seiten vernetzen. Diese Vernetzung ist jedoch einseitig: man wird …

Facebook und Privatsphäre

Wie sieht das eigentlich auf Facebook mit der Privatsphäre aus? Man hört ja immer wieder, das Facebook diesbezüglich problematisch sei. Annette Schwindt, Autorin des Facebook-Buchs beleuchtet in diesem Gastbeitrag einmal etwas genauer, welche Möglichkeiten man als User hat, seine Privatsphäre zu schützen. Wer auf Facebook aktiv werden möchte, hat dort vielfältige Möglichkeiten, mit anderen in Kontakt zu treten und Informationen mit ihnen zu teilen. Dabei kann man selbst entscheiden, ob man sein Facebook-Profil eher privat oder eher öffentlich betreiben möchte. Die notwendigen Einstellungen dazu hat Facebook gerade deutlich vereinfacht. Den Hauptbereich „Inhalte auf Facebook teilen“ kann man jetzt mit einem einzigen Klick vordefinieren. Sensible Daten sollte man aber weiterhin über benutzerdefinierte Einstellungen auf „Nur ich“ setzen, um Missbrauch zu vermeiden. Dazu gehören: 1) Ihre E-Mail-Adresse: diese ist Teil Ihres Logins und sollte daher für andere nicht sichtbar sein. Wer Sie auf Facebook kontaktieren will, kann dafür die Funktionen für Kommentieren, Posten oder Privatnachricht nutzen. (Sie können dies auch für Ihre Postadresse und Telefonnummer anwenden.) Wer Sie wie kontaktieren und wer welche Informationen überhaupt sehen darf, …

Arrays mit jQuery.grep filtern

Wenn man über jQuery spricht, geht es häufig um die Hauptkonzepte – das Bearbeiten des DOM und der Styles sowie die Events. Es gibt aber noch eine ganze Reihe weiterer „Core“-Features und Hilfsfunktionen, die dem Entwickler entgegenkommen. Dies ist eine der nicht so bekannten Hilfsmethoden von jQuery. Problem Sie müssen Elemente in einem Array filtern und entfernen. Lösung (function($) { $(document).ready(function() { var months = [ ‚Januar‘, ‚Februar‘, ‚März‘, ‚April‘, ‚Mai‘, ‚Juni‘, ‚Juli‘, ‚August‘, ‚September‘, ‚Oktober‘, ‚November‘, ‚Dezember‘]; months = $.grep(months, function(value, i) { return ( value.indexOf(‚J‘) == 0 ); }); $(‚#months‘).html( ‚<li>’+ months.join (‚</li><li>‘) + ‚</li>‘); }); })(jQuery); Diskussion Dieses Rezept nutzt die Methode $.grep(), um das Array months so zu filtern, dass es nur Einträge entält, die mit dem Großbuchstaben J beginnen. Die Methode $.grep gibt das gefilterte Array zurück. Der vom Entwickler definierten Callback-Methode werden zwei Argumente übergeben. Sie muss den Booleschen Wert true zurückgeben, wenn ein Element beibehalten werden soll, oder false, wenn es verworfen werden kann. Das erste Argument ist der Wert des Array-Elements (in diesem Fall der Monat), während …

.NET Day Franken 2010

Am 26. Juni 2010 findet in Nürnberg die erste .NET Community-Konferenz Frankens statt. Einen ganzen Tag erwarten die Besucher spannende Vorträge und Fachdiskussionen rund um die .NET-Technologie. Der .NET Day Franken ist eine Community-Konferenz, die sich an Entwickler, Architekten, Projektleiter und alle die wendet, die sich für .NET als Entwicklungstechnologie und die damit verbundenen technologieübergreifenden Themen interessieren. So wird neben den spannenden News rund um .NET 4 auch die agile Softwareentwicklung eines der Themen auf dieser Konferenz sein. Die folgenden Themen sind die Schwerpunkte der Konferenz: .NET 4 C# 4.0 Visual Studio 2010 Verteilte Softwareentwicklung Agile Softwareentwicklung Mehr Informationen über die Veranstaltung finden Sie unter: http://www.dotnet-day-franken.de/. Wir unterstützen diese Konferenz und wünschen Ihnen viel Spaß am Tag der Veranstaltung und viel Glück bei der Verlosung der  O’Reilly-Bücher.