Archive for the ‘Web’ Category
IE 6, 7 und 8 auf einem Rechner
Um mehrere Versionen von Internet Explorer parallel betreiben zu können, bieten sich folgende Images an:
http://www.xenocode.com/Browsers/
Bilder aus SWF-Datei extrahieren
Heute musste ich ein Bild aus einer Flash-Datei extrahieren. Da ich kein Flash auf dem Rechner habe und die Experten in Skype gerade nicht ansprechbar waren, habe ich mich selber auf die Suche gemacht und bin auf den FlashDigger gestoßen. Schon die Demoversion hat es mir ermöglicht, das gewünschte Bild zu finden und zu exportieren. Sogar als PNG mit Alphakanal. Perfekt zum Weiterverarbeiten.
conrad.de SEO: Daheim sterben?
Heute morgen habe ich im Web nach einem neuen Akku für mein Dell Inspiron 8500 gesucht. Eines der Suchergebnisse verwies auf eine Seite im Shop von conrad.de. Das Angebot ist nicht besonders, aber ich frage mich, wie wohl die Adresse für den Notebookakku entstanden ist:
http://www.conrad.de/Computer-Buero/daheim_sterben_die.sap
Es mag vielleicht so sein, dass manche Anbieter Urls mit suchmaschinenrelevanten Begriffen generieren, aber was Conrad damit bezweckt, die Begriffe “daheim, sterben und die” mit einem Notebookakku zu koppeln, verstehe ich nicht.
checkurl: Prüfen, ob ein Wort auf einer Webseite vorkommt
Mit dem folgenden Bash-Script kann man prüfen, ob auf einer Webseite ein bestimmtes Wort vorkommt:
#!/bin/bash
if [ $# -ne 2 ]; then
echo "Usage: checkurl [URL] [string to search for]"
echo
echo "Exits with:"
echo " 0=string found"
echo " 1=string not found"
exit 100
fi
cres=`curl -s $1 | grep -c $2`
if [ $cres -lt 1 ]; then
echo "not found"
exit 1
else
echo "found"
exit 0
fi
Voraussetzung: curl sollte installiert sein
Der HttpHandler und die Session [update]
Heute habe ich bemerkt, dass ich in einem IHttpHandler (ashx) an den HttpContext komme, allerdings die Session darin immer null ist.
Das scheint in HttpHandler-Kreisen so üblich, aber es gibt eine Abhilfe:
Die Klasse muss das Interface IRequiresSessionState implementieren.
Das ist garnicht schwierig, da die Implementierung keinen weiteren Code erfordert. Einfach die Klasse folgendermaßen definieren:
public class MyHandler : IHttpHandler, IRequiresSessionState
Nachtrag:
Damit es funktioniert, sollte man noch System.Web.SessionState includen:
using System.Web.SessionState;
GridView: Zahlen formatieren
Ich musste heute in einer GridView Zahlen formatieren, und zwar mit Tausender-Trennzeichen. Eigentlich kein Problem, wie bei der guten alten DataGrid als format string {0:###,###} eintragen. Dummerweise hat das nichts gebracht. Die Lösung war denkbar einfach: Man muss für die betreffende Zelle das HTML encoding abschalten.
favicon im Internet Explorer
Nachdem ich einen richtig guten Icon – Editor gefunden habe, wollte ich diesen auch anwenden. Ich habe ein favicon.ico für eine Website erstellt und ins Rootverzeichnis gelegt, mit dem Ergebnis, dass es in Firefox wunderbar angezeigt wurde. In Internet Explorer nicht. Ich wusste, dass IE Icons verliert, wenn man den Cache leert, aber irgendwie habe ich ihm nicht beibringen können, das favicon wieder zu erkennen.
Jetzt gibt es ja die Möglichkeit über
<link rel=”shortcut icon” href=”/irgend/ein/pfad/favicon.ico” />
einen abweichenden Ort fürs favicon anzugeben. Wäre ja eigentlich in meinem Fall nicht nötig, aber ich habe es mal gemacht und – siehe da – Internet explorer findet das favicon. Also schnell die Zeile ins Template und Ruhe haben
Links auf Bibelstellen
Vor kurzem habe ich das Projekt BasisBibel entdeckt. Dabei handelt es sich um eine neue Bibelübersetzung, die besonders für neue Medien optimiert ist.
Außerdem gibt es die Möglichkeit aus Webseiten heraus direkt auf Bibelstellen in der BasisBibel zu verlinken. Entweder per herkömmlichem Link oder per JavaScript-Popup. Ich fand das Interessant für die Dynamis-Webseiten und habe kurzerhand beide Möglichkeiten der Verlinkung kombiniert:
Mit einem kleinen JavaScript ist es so möglich, einen gewöhnlichen Link auf eine Bibelstelle gleichzeitig zum Popup-Link zu machen. Diese Links sind “onobtrusive”, sprich: Sowohl für Mensch, als auch für Maschine (z.B. Google), mit oder ohne Javascript zugänglich.
Ein gewöhnlicher Link auf eine Bibelstelle sieht so aus:
<a href="http://www.basisb.de/bibel/Mt%202,1">Matthäus, Kapitel 2, Vers 1</a>
Der Popuplink sieht ganz ähnlich aus:
<a href="http://www.basisb.de/bibel/Mt%202,1" class="basisb-bibelstelle">Matthäus, Kapitel 2, Vers 1</a>
Über die Klassendefinition wird festgelegt, wie das Popup aufgehen soll. Entweder nur die Bibelstelle (“basisb-bibelstelle”) oder die Bibelstelle mit Kontext (“basisb-bibeltext”).
Ach ja, hier sieht man das Script im Praktischen Einsatz:
http://www.dynamis4u.de/programm/
Einbau in die Seite
- Beispiel und JavaScript runterladen: basisb2_10.zip
- Die beiden Javascripts in HTML einbinden (siehe index.htm)
- … und schon funktioniert das mit den Links
Transparentes 1×1-Pixel-GIF ausgeben
Response.Clear();
Response.ContentType = “image/png�;
Response.BinaryWrite(new byte[] {0×47, 0×49, 0×46, 0×38, 0×39, 0×61, 0×01, 0×00, 0×01, 0×00, 0×80, 0×00, 0×00, 0xFF, 0xFF, 0xFF, 0×00, 0×00, 0×00, 0×21, 0xF9, 0×04, 0×01, 0×00, 0×00, 0×00, 0×00, 0×2C, 0×00, 0×00, 0×00, 0×00, 0×01, 0×00, 0×01, 0×00, 0×00, 0×02, 0×02, 0×44, 0×01, 0×00, 0×3B});
Response.End();
Transparentes 1×1-Pixel-PNG ausgeben
Response.Clear();
Response.ContentType = “image/png”;
Response.BinaryWrite(new byte[] { 0×89, 0×50, 0×4E, 0×47, 0×0D, 0×0A, 0×1A, 0×0A, 0×00, 0×00, 0×00, 0×0D, 0×49, 0×48, 0×44, 0×52, 0×00, 0×00, 0×00, 0×01, 0×00, 0×00, 0×00, 0×01, 0×08, 0×06, 0×00, 0×00, 0×00, 0×1F, 0×15, 0xC4, 0×89, 0×00, 0×00, 0×00, 0×04, 0×67, 0×41, 0×4d, 0×41, 0×00, 0×00, 0xb1, 0×8e, 0×7c, 0xfb, 0×51, 0×93, 0×00, 0×00, 0×00, 0×20, 0×63, 0×48, 0×52, 0×4d, 0×00, 0×00, 0×7a, 0×25, 0×00, 0×00, 0×80, 0×83, 0×00, 0×00, 0xf9, 0xff, 0×00, 0×00, 0×80, 0xe8, 0×00, 0×00, 0×75, 0×30, 0×00, 0×00, 0xea, 0×60, 0×00, 0×00, 0×3a, 0×97, 0×00, 0×00, 0×17, 0×6f, 0×97, 0xa9, 0×99, 0xd4, 0×00, 0×00, 0×00, 0×10, 0×49, 0×44, 0×41, 0×54, 0×78, 0×9c, 0×62, 0xf8, 0xff, 0xff, 0×3f, 0×03, 0×40, 0×80, 0×01, 0×00, 0×08, 0xfc, 0×02, 0xfe, 0×33, 0xa3, 0xe2, 0×99, 0×00, 0×00, 0×00, 0×00, 0×49, 0×45, 0×4e, 0×44, 0xae, 0×42, 0×60, 0×82});
Response.End();