Mittwoch, 2. November 2011

Blogger - Facebook-Kommentare einbinden

Wenn Ihr das Facebook Social Plugin Comments verwenden wollt, habe ich die Vorgehensweise hier mal zusammengefasst. Grundsätzlich ist es möglich das Plugin in jede beliebige Webseite einzubinden, ich beschreibe hier das Prozedere speziell für den Blooger-Post, was sich aber nicht wesentlich von der Verwendung in anderen Seiten unterscheidet. Das Ergebniss seht Ihr hier in meinem Blog.

1. Schritt - Deaktivieren der Standard-Kommentare (nur Blogger)
Meldet Euch in Eurem Blog an, wechselt nach Design => Einstellungen => Kommentare => Ausblenden checken und die Einstellungen speichern.

2. Schritt - Facebook-Anwendung erstellen
Als nächstes erstellt Ihr hier eine Facebook-Anwendung. Das wichtigste hier ist die App-ID, die wird später gebraucht. Die App muss mit der Domäne (z.B. it4zwigge.blogspot.com) und Webseite (z.B. http://it4zwigge.blogspot.com/) verbunden werden.

3. Schritt - Code bereitstellen
Ich habe mich für die HTML5-Variante der Kommentare entschieden, vor allem weil XFBLM Probleme im IE9 gemacht hat. Am besten klickt Ihr hier auf Get Code:

Dann werden Euch unter dem Tab HTML5 zwei Codeschnipsel angeboten:




Im ersten Schnipsel ersetzt Ihr <APPID> mit Eurer App-ID (Zeile 6) und aufpassen das Kaufmannsund (&) vor appId muss so kodiert sein wie oben (&amp;).

Im zweiten Schnipsel ändert Ihr dann das Attribut data-href auf Eure URL:


<div class="fb-comments" data-href="http://www.it4zwigge.de/"
data-num-posts="2" data-width="500"></div>

Um Blogger-Posts zu referenzieren, muss das Ganze so aussehen:


<div class='fb-comments' expr:data-href='data:post.url'
data-num-posts='2' data-width='500'></div>

4. Schritt - HTML-Template modifizieren
Nun müssen die beiden Schnipsel noch an Ort und Stelle kopiert werden. Dazu wechselt Ihr nach Design => HTML bearbeiten => Widget-Vorlagen komplett anzeigen checken.
Um den ersten Schnipsel einzufügen sucht Ihr den Text <body, nach dem Body-Tag, muss dann das erste Schnipsel hin.
Für den zweiten Schnipsel sucht Ihr den Text data.post:body, nach diesem Tag wird unser Quelltext dann eingefügt. Nach dem Speichern der Vorlage sollten dann Kommentare wie unten zu sehen sein.

Blogger - Facebook-Kommentare einbinden

Wenn Ihr das Facebook Social Plugin Comments verwenden wollt, habe ich die Vorgehensweise hier mal zusammengefasst. Grundsätzlich ist es möglich das Plugin in jede beliebige Webseite einzubinden, ich beschreibe hier das Prozedere speziell für den Blooger-Post, was sich aber nicht wesentlich von der Verwendung in anderen Seiten unterscheidet. Das Ergebniss seht Ihr hier in meinem Blog.

1. Schritt - Deaktivieren der Standard-Kommentare (nur Blogger)
Meldet Euch in Eurem Blog an, wechselt nach Design => Einstellungen => Kommentare => Ausblenden checken und die Einstellungen speichern.

2. Schritt - Facebook-Anwendung erstellen
Als nächstes erstellt Ihr hier eine Facebook-Anwendung. Das wichtigste hier ist die App-ID, die wird später gebraucht. Die App muss mit der Domäne (z.B. it4zwigge.blogspot.com) und Webseite (z.B. http://it4zwigge.blogspot.com/) verbunden werden.

3. Schritt - Code bereitstellen
Ich habe mich für die HTML5-Variante der Kommentare entschieden, vor allem weil XFBLM Probleme im IE9 gemacht hat. Am besten klickt Ihr hier auf Get Code:

Dann werden Euch unter dem Tab HTML5 zwei Codeschnipsel angeboten:




Im ersten Schnipsel ersetzt Ihr <APPID> mit Eurer App-ID (Zeile 6) und aufpassen das Kaufmannsund (&) vor appId muss so kodiert sein wie oben (&amp;).

Im zweiten Schnipsel ändert Ihr dann das Attribut data-href auf Eure URL:


<div class="fb-comments" data-href="http://www.it4zwigge.de/"
data-num-posts="2" data-width="500"></div>

Um Blogger-Posts zu referenzieren, muss das Ganze so aussehen:


<div class='fb-comments' expr:data-href='data:post.url'
data-num-posts='2' data-width='500'></div>

4. Schritt - HTML-Template modifizieren
Nun müssen die beiden Schnipsel noch an Ort und Stelle kopiert werden. Dazu wechselt Ihr nach Design => HTML bearbeiten => Widget-Vorlagen komplett anzeigen checken.
Um den ersten Schnipsel einzufügen sucht Ihr den Text <body, nach dem Body-Tag, muss dann das erste Schnipsel hin.
Für den zweiten Schnipsel sucht Ihr den Text data.post:body, nach diesem Tag wird unser Quelltext dann eingefügt. Nach dem Speichern der Vorlage sollten dann Kommentare wie unten zu sehen sein.

Donnerstag, 27. Oktober 2011

jQuery - Windows Phone 7 Live Tiles (Demo)

Go to jQuery - Windows Phone 7 Live Tiles mainpage

jQuery - Windows Phone 7 Live Tiles (Demo)

Go to jQuery - Windows Phone 7 Live Tiles mainpage

Dienstag, 25. Oktober 2011

Windows Phone 7 - Verhindern das Systray Content nach unten schiebt

Wenn man z.B. den neuen Progressindikator (Mango) im Systray verwendet, wird der Inhalt der Phonepage nach unten geschoben wenn der Progressindikator eingeblendet wird. Das ist ein sehr unschöner Effekt.

Verhindern kann man das durch:


SystemTray.SetIsVisible(this, true);
SystemTray.SetOpacity(this, 0.2);

Kleinere Werte als 1 bei Opacity führen zum gewünschten Effekt.

Windows Phone 7 - Verhindern das Systray Content nach unten schiebt

Wenn man z.B. den neuen Progressindikator (Mango) im Systray verwendet, wird der Inhalt der Phonepage nach unten geschoben wenn der Progressindikator eingeblendet wird. Das ist ein sehr unschöner Effekt.

Verhindern kann man das durch:


SystemTray.SetIsVisible(this, true);
SystemTray.SetOpacity(this, 0.2);

Kleinere Werte als 1 bei Opacity führen zum gewünschten Effekt.

Windows Phone 7 - Image herunterladen, anzeigen und bei Bedarf speichern

Basierend auf dem hier beschriebenen, nochmal eine Variante die ein paar mehr Möglichkeiten bietet.

XAML:



Herkömmliche Variante:


ImageIpCam.Source =
new BitmapImage(new Uri("http://www.it4zwigge.de/images/logo.jpg"));

Felder:


...
private WebClient _webClient;
private BitmapImage _currentImage;
...

Konstruktor:


...
_currentImage = new BitmapImage();
_webClient = new WebClient();
_webClient.OpenReadCompleted +=
new OpenReadCompletedEventHandler(_webClient_OpenReadCompleted);
...

Methode 1 - Image asynchron herunterladen und einem Image-Control zuweisen:


private void _webClient_OpenReadCompleted(object sender,
OpenReadCompletedEventArgs e)
{
if (e.Error == null && !e.Cancelled)
{
try
{
_currentImage.SetSource(e.Result);
ImageIpCam.Source = _currentImage;
}
catch {}
}
}

Methode 2 - Image bei Bedarf speichern:


private void SaveImage(string imageToSave)
{
try
{
String tempImage = "TempImage";
var myStore = IsolatedStorageFile.GetUserStoreForApplication();
if (myStore.FileExists(tempImage))
{
myStore.DeleteFile(tempImage);
}
IsolatedStorageFileStream myFileStream = myStore.CreateFile(tempImage);

WriteableBitmap wb = new WriteableBitmap(_currentImage);
wb.SaveJpeg(myFileStream, wb.PixelWidth, wb.PixelHeight, 0, 85);
myFileStream.Close();

myFileStream = myStore.OpenFile(tempImage, FileMode.Open, FileAccess.Read);
MediaLibrary mediaLibrary = new MediaLibrary();
mediaLibrary.SavePicture(imageToSave, myFileStream);
myFileStream.Close();

MessageBox.Show("Das Bild liegt jetzt im Album \"Gespeicherte Bilder\".");
}
catch (Exception ex)
{
MessageBox.Show("Fehler beim Speichern! " + ex.Message);
}
}