Elegantes Setzen von potentiell nicht initialisierten Variablen
lame:
|
1 2 3 4 |
if( ! textPosition ) { textPosition = new Point( 100, 100 ); } |
kewl:
|
1 |
textPosition ||= new Point( 100, 100 ); |
Danke an Nils.
Robotlegs: Injection funktioniert nicht
Neues Theme, neues Glück
Das neue WordPress-Theme heißt Satorii - und scheint mindestens im Firefox 4 RC1/Windows Probleme zu machen:

Oben wie es aussehen soll, unten wie es aussieht. Leider funktioniert Firebug unter FF 4 (noch) nicht, deshalb kann ich gerade schlecht debuggen...
Photoshop: Raster erstellen
Auf www.cameronmcefee.com/guideguide/ gibt es ein Plugin, um automatisiert ein Raster aus Hilfslinien in Photoshop zu erstellen. Geht ab CS 4
Danke an Flo.
Facebook Click-SPAM wieder entfernen

Auf Facebook häufen sich in letzter Zeit wieder die Clickjacking- (Like-Jacking-) Posts. Während man sich bei den meisten Links fragt, warum zum Henker die entsprechende Person da überhaupt draufgeklickt hat (siehe oben), so kann das trotzdem mal passieren. Anyway: Es ist relativ einfach, den "like" wieder zu entfernen. Man benötigt "nur" zum Beispiel Firebug - oder alternativ einen URL-Sniffer, einen Proxy, Live HTTP Headers, oder irgendwas anderes, um aufgerufene URLs zu sehen. Im Folgenden wird Firebug benutzt.
Wenn man nun also eine Seite geliked hat, so gehe man mit laufendem Firebug erneut auf diese Seite. In den aufgerufenen URLs findet sich auch das Facebook-Like-Script:

Diese URL ist es, die zum Clickjacking verwendet wird. Man kann sie auch direkt öffnen, und sieht dann den gewohnten Like-Button für die entsprechende Seite (siehe zum Beispiel hier für bentlarsen.de):
![]()
Und voilà, hier kann man natürlich nicht nur liken, sondern auch wieder unliken. Der entsprechende Eintrag auf der Pinnwand sollte zeitnah (nicht zwingend sofort!) verschwinden.
HTH
Flash: Blendmode „LAYER“
Wenn man mehrere Elemente in einen MovieClip packt, und diesen Clip fadet, dann hat man unschöne Effekte, da die einzelnen Elemente sich unterschiedlich verhalten. Will man den Clip als Ganzes faden, dann sollte man seinen BlendMode auf LAYER stellen... ist quasi so eine Art visuelles MouseChildren=false 😉
Es ist Mittwoch
AS3/E4X: Rekursiv alle Unterknoten mit einem Attribut finden
Nerd-Porn:
|
1 |
xml..*.(hasOwnProperty("@myID") && @myID == "abc").@myAttribute |
Liefert das Attribut "myAttribute" des Unterknotens (nicht begrenzt auf direkte Kind-Knoten), dessen Attribut myID gleich "abc" ist. Man beachte: Den doppelten Punkt hinter "xml", sowie den Sternchen-Selektor. Quelle, man beachte dort auch die unten verlinkten weiterführenden Artikel.
UPDATE: Eine Struktur wie die Folgende
|
1 2 3 4 5 6 7 |
private static const _xml : XML = <data> <text id="a"><![CDATA[hello a]]></text> <slide id="b"> <text id="c"><![CDATA[hello c]]></text> </slide> </data>; |
kann man so durchsuchen:
text:
|
1 |
_xml.children().(@id == "a"); |
slide.text:
|
1 |
_xml.children().(@id == "b").children().(@id == "c"); |
Flashplayer 11, Molehill, Flare3D 2.0 in FDT 4.2
Tag,
wer die Flare3D 2.0-Beispiele* in FDT 4.2 ausprobieren möchte, dem sei der folgende Artikel an's Herz gelegt: How to get started with the Molehill API and Away3D. OK, ist nicht für Flare3D, aber trotzdem hilfreich. Besonders wichtig:
- Als Compiler-Argument "-swf-version=13" hinzufügen, sonst gibt's Runtime-Fehler
- Das dort verlinkte SDK hat keine flex.swc in frameworks/libs, was mein FDT gar nicht mochte. Aber es funktioniert mit der swc aus dem 4.1er SDK^^ Einfach rüberkopieren
- Die flashplayer_inc_playerglobal_022711.swc kann zwar auch in einem externen Verzeichnis eingebunden sein, für FDT muss diese nicht, wie beschrieben, die originale playerglobal ersetzen. Dann kompiliert er aber leider nicht 🙂 Fehlermeldung:
Inkonsistente Verknüpfung in /xy/abc/flashplayer_inc_playerglobal_022711.swc(flash.net.drm:AddToDeviceGroupSetting, flash.net.drm:AuthenticationMethod, flash.net.drm:LoadVoucherSetting). 'flash.net.drm:LoadVoucherSetting' ist als extern markiert, 'flash.net.drm:AddToDeviceGroupSetting' aber nicht.
bzw auf Englisch:
Inconsistant linkage in /xy/abc/flashplayer_inc_playerglobal_022711.swc(flas h.net.drm:AddToDeviceGroupSetting, flash.net.drm:AuthenticationMethod, flash.net.drm:LoadVoucherSetting) - 'flash.net.drm:LoadVoucherSetting' is marked as extern, but 'flash.net.drm:AddToDeviceGroupSetting' is not.
Also doch die vorhandene playerglobal in framework/libs/player/10.2/ ersetzen. Man liest vereinzelt auch davon, dass man einen neuen Ordner "11" in frameworks/libs/player anlegen kann, das habe ich aber nicht probiert.
HTH,
Lennart
*Warum kein Away3D? Ich habe keines der beiden Frameworks bisher ausprobiert, aber hier klang Flare3D irgendwie cooler 😉
